读取使用pm2传递给node.js的命令行参数
我知道如何使用pm2将variables传递给node.js。 但是我怎么读呢? process.argv
不包含它。
这就是我所指的。
使用pm2将环境variables传递给node.js
UPDATE
pm2 start file_name.js -- -my_port 8080
是正确的方法。 process.argv
将包含参数。
但是运行pm2 describe file_name
仍然显示一个被caching的值-3000。 重新启动系统给了我重新启动之前最后通过的参数,在我的情况下是3000。
我觉得你很困惑:
-
node_args
node_args list [“–harmony”,“–max-stack-size = 1024”]在启动时向节点发送的参数
这些是node
可执行选项,如--harmony
或--debug=7001
。 有关更多信息,请参阅node --help
-
args
args list [“–enable-logs”,“-n”,“15”]在启动时向您的应用程序提供的参数
那些是你的脚本参数。 在json声明中,它是arg
属性,但在命令行中,语法是:
pm2 start app.js -- arg1 arg2
这些应该在process.argv
可用。
参考
从关于process.argv
的Node.js文档 :
包含命令行参数的数组。
它不包含环境variables。 您可以使用访问ENV_VARIABLE
环境variables
process.env.ENV_VARIABLE
看到这个答案 。