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 have activated ES modules by "type": "module",
as you see.
And the ecosystem.config.js file:
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
require()
. It seems PM2 doesn't support ES Modules yet. But I find a temporary solution for this, here: github.com/nodejs/modules/issues/293 – Kommunarsk