使用 pm2 读取传递给 node.js 的命令行参数
Read command line arguments passed to node.js using pm2
我知道如何使用 pm2 将变量传递给 node.js。但我如何阅读它们? process.argv
不包含它。
这就是我指的。
更新
pm2 start file_name.js -- -my_port 8080
是正确的做法。 process.argv
将包含参数。
但是 运行 pm2 describe file_name
仍然显示 args -3000 这是一个缓存值。
重新启动系统给我重新启动前最后传递的参数,在我的例子中是 3000。
来自Node.js doc about process.argv
:
An array containing the command line arguments.
不包含环境变量。您可以使用
访问 ENV_VARIABLE
环境变量
process.env.ENV_VARIABLE
见this answer。
我觉得你很困惑:
node_args
node_args list ["--harmony", "--max-stack-size=1024"] arguments given to node when it is launched
这些是 node
个可执行选项,例如 --harmony
或 --debug=7001
。有关详细信息,请参阅 node --help
args
args list ["--enable-logs", "-n", "15"] arguments given to your app when it is launched
这些是您的脚本参数。在 json 声明中它是 arg
属性 但在命令行中语法是:
pm2 start app.js -- arg1 arg2
这些应该在 process.argv
中可用。
我知道如何使用 pm2 将变量传递给 node.js。但我如何阅读它们? process.argv
不包含它。
这就是我指的。
更新
pm2 start file_name.js -- -my_port 8080
是正确的做法。 process.argv
将包含参数。
但是 运行 pm2 describe file_name
仍然显示 args -3000 这是一个缓存值。
重新启动系统给我重新启动前最后传递的参数,在我的例子中是 3000。
来自Node.js doc about process.argv
:
An array containing the command line arguments.
不包含环境变量。您可以使用
访问ENV_VARIABLE
环境变量
process.env.ENV_VARIABLE
见this answer。
我觉得你很困惑:
node_args
node_args list ["--harmony", "--max-stack-size=1024"] arguments given to node when it is launched
这些是 node
个可执行选项,例如 --harmony
或 --debug=7001
。有关详细信息,请参阅 node --help
args
args list ["--enable-logs", "-n", "15"] arguments given to your app when it is launched
这些是您的脚本参数。在 json 声明中它是 arg
属性 但在命令行中语法是:
pm2 start app.js -- arg1 arg2
这些应该在 process.argv
中可用。