我通过向Node添加--experimental-modules参数来使用--experimental-modules模块。运行node --experimental-modules app.mjs非常好。但是,当我使用pm2运行相同的命令时,会得到以下错误:
错误ERR_REQUIRE_ESM:必须使用导入加载ES模块
我当前的pm2配置文件如下所示:
"apps": [
{
"name": "api",
"script": "app.mjs",
"exec_mode": "cluster",
"instances": "max",
"node_args": "--experimental-modules",
"env": {
variables here..
}
}
],我也尝试使用esm,而不是这样:
"node_args": "-r esm"在这两种情况下,它们返回相同的[ERR_REQUIRE_ESM]错误。
有谁有关于如何在es6中使用pm2模块的解决方案吗?还是现在它坏了?
发布于 2019-10-20 12:26:20
更新
从Node.js 12.14.1版本开始,您不必添加--experimental-modules参数,所以如果您更新节点,它应该可以工作,而不会对您的配置进行任何更改。
原始答案
解决这个问题的方法:
"scripts": {
//Add this one:
"safestart":"node --experimental-modules app.mjs"
},
pm2 start npm -- run safestart
https://stackoverflow.com/questions/52499715
复制相似问题