我知道如何使用pm2将变量传递给node.js。但我怎么读它们? process.argv
不包含它。
这就是我所说的。
Passing environment variables to node.js using pm2
更新
pm2 start file_name.js -- -my_port 8080
是正确的方法。 process.argv
将包含参数。
但是正在运行pm2 describe file_name
仍会显示args -3000这是一个缓存值。
重新启动系统会给我一个在重启之前最后传递的参数,在我的情况下是3000。
答案 0 :(得分:3)
我觉得你很困惑:
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
中提供。
答案 1 :(得分:0)
来自Node.js doc about process.argv
:
包含命令行参数的数组。
它不包含环境变量。您可以使用
访问ENV_VARIABLE
环境变量
process.env.ENV_VARIABLE
请参阅this answer。