如何使用 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"
    },