PM2 带 ES 模块。错误:ERR_REQUIRE_ESM

Sha*_*'an 6 javascript node.js pm2 es6-modules

我的package.json文件看起来像这样:

{
...
  "main": "index.js",
  "type": "module",
  "scripts": {
    "devStart": "pm2 start ecosystem.config.js --env dev --watch",
    "prodStart": "pm2 start ecosystem.config.js --env prod --watch",
    "reload": "pm2 reload ecosystem.config.js",
    "stop": "pm2 stop ecosystem.config.js",
    "end": "pm2 delete ecosystem.config.js"
  },
...
}
Run Code Online (Sandbox Code Playgroud)

如你所见,我已经激活了 ES 模块"type": "module",

还有ecosystem.config.js文件:

module.exports = {
  apps : [{
    name   : "app1",
    script : "./app.js",
    env_production: {
       NODE_ENV: "production"
    },
    env_development: {
       NODE_ENV: "development"
    }
  }]
}
Run Code Online (Sandbox Code Playgroud)

因此,当我运行脚本时npm run devStart会发生错误。

文件 Ecosystem.config.js 格式错误

代码:'ERR_REQUIRE_ESM'

"type": "module"当我从配置文件中删除该部分时它就起作用了。

我该如何解决这个问题?

node -v : v16.13.0

pm2 -v : 5.1.2

小智 10

重命名ecosystem.config.jsecosystem.config.cjs

  • 然后我得到:[PM2][ERROR] File Ecosystem.config.js not found (3认同)