Node.js 将环境变量从grunt传递到文件

Node.js 将环境变量从grunt传递到文件,node.js,rest,gruntjs,environment-variables,Node.js,Rest,Gruntjs,Environment Variables,根据环境的不同,我希望在js文件中运行HTTP请求,将其发送到URL或其他URL 例如,我有这样的东西: 我想要的是执行grunt文件并指定env,因此js文件应该读取该选项并向URL或其他URL发出请求 例如: grunt default --env=prod 如何才能对js文件说URL是dev、prepd或prod-one?Node.js API公开对象,该对象将环境变量存储在其env属性中。运行前设置的每个环境变量都将位于process.env内 例如: $ NODE_ENV=

根据环境的不同,我希望在js文件中运行HTTP请求,将其发送到URL或其他URL

例如,我有这样的东西:

我想要的是执行grunt文件并指定env,因此js文件应该读取该选项并向URL或其他URL发出请求

例如:

grunt default --env=prod
如何才能对js文件说URL是dev、prepd或prod-one?

Node.js API公开对象,该对象将环境变量存储在其
env
属性中。运行前设置的每个环境变量都将位于
process.env

例如:

$ NODE_ENV=production node -e 'console.log(process.env.NODE_ENV)'
将输出:

production
在您的特定情况下,可以在Gruntfile.js中使用
process.env
,然后在运行grunt时,可以像上面的示例一样使用它

带有环境变量的示例
grunfile.js
改编自Grunt.js

在查看
文件时,它将执行
jshint
任务。另一方面,如果设置
PRODUCTION
变量并运行相同的命令

$ PRODUCTION=true grunt watch

它在观看
文件时不会执行任何任务

谢谢您的回答。因此,如果我将变量存储在NODE_ENV中,我可以在js文件中引用它吗?它不必是
NODE_ENV
,具体地说,只要使用
process.ENV
访问变量,就可以随意命名它。(我将添加另一个示例来说明这一点)
$ grunt watch # PRODUCTION environment variable is not set
$ PRODUCTION=true grunt watch