我在Ubuntu 12.04上,我只是在了解环境变量。我正尝试从我的应用程序中读取自定义变量,但始终显示为undefined
。下面是我的测试应用程序的代码:无法在我的nodejs应用程序中读取我的环境变量
// app.js
console.log('Value: ' + process.env.NODE_ENV);
如果我运行下面的命令,你会看到变量的值:
$ NODE_ENV=production
$ echo $NODE_ENV
production
我可以echo $NODE_ENV
一整天,它会继续表现我“生产”,但是当我在我的节点应用程序中执行process.env.NODE_ENV
时,它始终显示“未定义”。
$ node app.js
Value: undefined
这里是奇数部分不过,如果我显示另一个环境变量,我知道已经存在,说process.env.PATH
,那么它的工作原理。
$ node app.js
Value: /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
另一个怪癖是命令printenv list
似乎并没有包含我的自定义变量NODE_ENV
尽管echo $NODE_ENV
显示我正确的值。 printenv NODE_ENV
没有显示任何内容,但是printenv PATH
显示了正确的值,就像在我的节点应用程序中访问PATH
时一样。
任何帮助,非常感谢。