如何使用 nodemon 运行 ECMAScript(mjs 文件)?
How to run ECMAScript (mjs files) with nodemon?
我能够 运行 使用 --experimental-modules
标志的 nodejs 的 mjs 文件。
node --experimental-modules index.mjs
package.json:
{
"name": "mjs-tests",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "nodemon index.mjs"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"chalk": "^2.4.2",
"uuid": "^3.3.2"
},
"devDependencies": {
"nodemon": "^1.19.1"
}
}
和index.mjs
import http from 'http'
const server = http.createServer((req, res) => {
res.end('hello')
})
const PORT = 5000
server.listen(PORT, () => {
console.log(`♀️ Server is running at http://localhost:${PORT}`)
})
但如果我尝试
npm run dev
或(全局安装 nodemon)
nodemon index.mjs
我收到这个错误
[nodemon] 1.19.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node index.mjs`
internal/modules/cjs/loader.js:821
throw new ERR_REQUIRE_ESM(filename);
^
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module
那么,如何在 nodemon 中启用对 ECMAScript 的支持?或者我应该使用 esm?
之类的东西
Offcourse yes,你只需要稍微修改一下你的package.json
"scripts": {
"dev": "nodemon --experimental-modules index.mjs"
},
我能够 运行 使用 --experimental-modules
标志的 nodejs 的 mjs 文件。
node --experimental-modules index.mjs
package.json:
{
"name": "mjs-tests",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "nodemon index.mjs"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"chalk": "^2.4.2",
"uuid": "^3.3.2"
},
"devDependencies": {
"nodemon": "^1.19.1"
}
}
和index.mjs
import http from 'http'
const server = http.createServer((req, res) => {
res.end('hello')
})
const PORT = 5000
server.listen(PORT, () => {
console.log(`♀️ Server is running at http://localhost:${PORT}`)
})
但如果我尝试
npm run dev
或(全局安装 nodemon)
nodemon index.mjs
我收到这个错误
[nodemon] 1.19.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node index.mjs`
internal/modules/cjs/loader.js:821
throw new ERR_REQUIRE_ESM(filename);
^
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module
那么,如何在 nodemon 中启用对 ECMAScript 的支持?或者我应该使用 esm?
之类的东西Offcourse yes,你只需要稍微修改一下你的package.json
"scripts": {
"dev": "nodemon --experimental-modules index.mjs"
},