简体   繁体   中英

PM2 with ES module. Error: ERR_REQUIRE_ESM

My package.json file looks something like this:

{
...
  "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"
  },
...
}

I did activate ES modules by "type": "module", as you see.

And the ecosystem.config.js file you know, is:

module.exports = {
  apps : [{
    name   : "app1",
    script : "./app.js",
    env_production: {
       NODE_ENV: "production"
    },
    env_development: {
       NODE_ENV: "development"
    }
  }]
}

So, when I run the script npm run devStart an error occurs.

File ecosystem.config.js malformated

code: 'ERR_REQUIRE_ESM'

It works when I just remove the "type": "module" part from config file.

How can I solve this?

node -v: v16.13.0

pm2 -v: 5.1.2

Rename ecosystem.config.js to ecosystem.config.cjs

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM