在 Windows 上使用 pm2 时如何传递节点参数

问题描述 投票:0回答:2

这是在 ubuntu 上运行良好的

pm2 start
。但节点参数在 Windows 上的传递方式不同。那么我该怎么做呢?

pm2 start --node-args="--experimental-modules" app.js

这是我得到的错误

错误 [ERR_UNSUPPORTED_ESM_URL_SCHEME]:默认 ESM 加载程序仅支持文件和数据 URL

我意识到我可以使用配置文件,但我正在寻找一种方法来通过 cli 本身来实现它,就像它在 Linux 中一样。

node.js pm2
2个回答
0
投票

您可以按如下方式传递参数

pm2 start app.js --node-args="--production --port=1337"

0
投票

我的原始节点cmd是

node index.js arg1

所以我尝试使用这个cmd在Windows服务器中注册为pm2服务。

pm2 start index.js --name XXX -- arg1

但它显示这样的错误

Script not found: .\arg1

它可能会将arg1理解为指向脚本文件。

所以我尝试了这个方法。

1. pm2 start index.js --name XXX
2. pm2 save
3. To find the XXX section in dump.pm2 file and add "args" property like following.

    "pm_exec_path": ".\index.js",
    "node_args": [],
    "args": ["arg1"],
4. pm2 delete all
5. pm2 resurrect
© www.soinside.com 2019 - 2024. All rights reserved.