使用node.js命令行参数作为环境变量

发布于 2025-01-19 03:04:43 字数 504 浏览 1 评论 0原文

我将我的node.js应用程序调用,

node index.js a=5

我想直接将值'5'用作我的代码中的环境变量

const myNumber = process.env.a

(如说明此处)。

如果我尝试以上内容,则“ mynumber”在运行时是不确定的。

解决方案

  • Linux:
a=5 node index.js
  • Windows(PowerShell):
    $env:a="5";node index.js

I call my node.js application with

node index.js a=5

I want to use the value '5' directly as an environment variable in my code like

const myNumber = process.env.a

(like stated here).

If I try the above, 'MyNumber' is undefinded on runtime.

Solution

  • Linux:
a=5 node index.js
  • Windows (Powershell):
    $env:a="5";node index.js

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟花易冷人易散 2025-01-26 03:04:43

当执行node index.js a=5时,a=5是node的参数,就像index.js一样。

如果要传递环境变量,则必须在节点命令之前指定:a=5 node index.js

节点 process.env 填充有您的 bash 环境变量。

When doing node index.js a=5, a=5 is an argument for node, as index.js is.

If you want to pass an environment variable, you must specify it before node command : a=5 node index.js.

The node process.env is populated with your bash environment variables.

灰色世界里的红玫瑰 2025-01-26 03:04:43

a=5 是脚本的参数,而不是环境变量。要访问脚本中的参数,请使用 process.argv

https://nodejs.org/en/knowledge/command-line/how-to-parse-command-line-arguments/

a=5 is an argument to your script not an environment variable. to access the argument in the script use process.argv

https://nodejs.org/en/knowledge/command-line/how-to-parse-command-line-arguments/

魔法少女 2025-01-26 03:04:43

现在,当您运行以下命令时,它正在为 Node.js(您的 index.js 文件)设置一个参数。

$ node index.js a=5

您可以使用下面的代码访问它。它只会返回传入的第一个值。

// node index.js a=5
process.argv[2]

您需要获取第二个索引,因为前两个只是命令行索引。


如果要传递环境变量,则需要在运行命令之前设置它,如下所示。

$ a=5 node index.js

然后,您可以使用 process.env 访问它,正如您已经指定的那样。

Right now, when you run the following command, it is setting an argument for Node.js (your index.js file).

$ node index.js a=5

You can access this using the code below. It will simply return the value the first value passed in.

// node index.js a=5
process.argv[2]

You need to get the 2nd index, as the first 2 are just command line ones.


If you want to pass an environment variable, you need to set it before running the command, as so.

$ a=5 node index.js

You can then access it with process.env, as you have already specified.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文