Как запустить ECMAScript (файлы mjs) с помощью nodemon?

Я могу запускать MJS-файлы с помощью nodejs, используя --experimental-modules флаг.

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

Итак, как я могу включить поддержку ECMAScript в nodemon? Или я должен использовать что-то вроде esm?

1 ответ

Решение

Да, конечно, все, что вам нужно, чтобы немного изменить свой package.json

  "scripts": {
        "dev": "nodemon --experimental-modules index.mjs"
    },

Другие вопросы по тегам