我通过将--experimental-modules
参数添加到Node来使用ES6模块。运行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结合使用有解决方案吗?或者现在有问题吗?
答案 0 :(得分:1)
此问题的解决方法:
"scripts": {
//Add this one:
"safestart":"node --experimental-modules app.mjs"
},
pm2 start npm -- run safestart
答案 1 :(得分:0)
如果您不想更新节点,或者其他方法正在使用esm package
查看我的答案here.