我正在学习节点js,并且已经编写了一些基本代码来开始尝试。
如果我想将任何参数传递给我的应用程序,我使用以下命令:
PORT=300 npm start
并使用以下代码在代码中访问它:
process.env.PORT
但我想现在传递多个参数,例如
PORT=3000 user=dev npm start
当我传入多个参数时,启动失败。
然后我尝试了&&&'在参数之间它不再失败,但只有最后一个参数成功传递给脚本,例如如果我使用以下命令启动脚本:
PORT=3000 && user=dev npm start
我可以通过process.env.user
访问用户参数,但PORT未定义
OR
如果我通过以下方式启动应用程序:
user=dev && PORT=3000 npm start
我现在可以访问PORT参数,但现在process.env.user
未定义。
P.S。我在Windows环境中运行它。
答案 0 :(得分:1)
尝试升级您的npm版本和" PORT = 3000 user = dev npm start"应该工作正常。
答案 1 :(得分:0)
在我的api代码库中,我使用了以下命令,
PORT=5555 pm2 start app.js --name API --env production -f
但是,每次都很难记住长参数列表。我建议使用单个pm2配置文件,而不是手动运行每个应用程序。它可以使用env
参数分隔开发,登台和生产环境。这是正确的指南,http://pm2.keymetrics.io/docs/usage/application-declaration/我使用的json格式已经使用了很长时间,现在很容易处理在pm2上运行的应用程序。
希望这有帮助。
答案 2 :(得分:-2)
您可以将这些值作为命令行参数传递,您可以在脚本/代码中按顺序访问这些值。 喜欢 -
npm start 3000 dev
您可以通过 -
访问它们process.argv[i]
所以在i = 2时,你将获得3000而在i = 3时,你将获得字符串形式的开发。