应用程序由
运行pm2 start app.js
或
pm2 start config.json
我想使用node_inspector在本地调试我的应用程序。我添加了debug
参数
pm2 start --node-args="--debug=7000" app.js
它工作正常但如果我提供config.json
而不是脚本app.js
我不知道如何传递有关调试的参数。下一个配置不起作用
{
"apps": [
{
"name": "myName",
"script": "app.js",
"args": "['--debug=7000']"
............
}
]
}
那么如何调试pm2运行的应用程序并使用config?
答案 0 :(得分:40)
你几乎就在那里,使用node_args
代替args
:
args
是您的脚本参数 node_args
是传递给节点可执行文件的参数
{
"name": "myName",
"script": "app.js",
"node_args": ["--debug=7000"]
}
如果此后有人仍然遇到调试设置问题,在某些情况下您必须禁用群集模式才能使调试设置生效。
另请注意,如果将所有args作为单个字符串传递,则不需要node_args值中的括号。
答案 1 :(得分:2)
[pm2版本3.2.2]
如果要在PM2上附加Vscode,以下方法将起作用。
在生态系统文件ecosystem.config.js中,在应用程序下面添加以下行。
node_args : ["--inspect"]
添加此选项将在调用脚本时自动设置两个节点参数。它们是--inspect
,--inspect-port=9232
。
可以通过console.log(process.process.execArgv)
此外,如果实例数> 1,则上述参数将在此pm2下继续为每个其他节点实例增加此端口号。
例如,对于第二个节点,实例pm2将通过--inspect
,--inspect-port=9233
。
如果您将检查端口显式设置为一个值,我会看到以下内容为args
--inspect
,--inspect-port=9200
,--inspect-port=9230
它似乎没有使用您想要的端口。但是我认为,鉴于pm2的性质,最好不使用特定端口。
希望这会有所帮助。
答案 2 :(得分:0)
另一种方法是
(5 -) :: Num a => a -> a
(5 +) :: Num a => a -> a
(5 *) :: Num a => a -> a
在您的ecosystem.config.js文件中。