Nie*_*ert 5 macos node.js express
我正在编写一个 Node.js express 应用程序,并希望使用环境变量来设置服务器应该运行的端口。
但是,我似乎process.env.PORT
无法读取我的PORT
环境变量。
我已经使用export
如下方式定义了 PORT 环境变量:
export PORT=1234
我还将此行添加到~/.bash_profile
文件中,但process.env.PORT
仍未定义。
当我echo $PORT
在终端中运行时,它会1234
正确显示值 ( )。
我正在运行 Node V0.12.7 和 OSX El Capitan 10.11.1 并且真的找不到任何可能导致这种情况的额外线索。
谢谢!
编辑:
这是在尝试分配process.env.port
给port
变量之前执行的代码
var app = require('../app');
var proxy = require("../proxy");
var http = require('http');
var nconf = require('nconf');
nconf.file(__dirname + "/appConf.json");
var appSettings = require('../appSettings');
var port = normalizePort(process.env.PORT || 8080);
Run Code Online (Sandbox Code Playgroud)
小智 4
有一个很棒的 npm 包,名为,它会从与您的 NodeJS 应用程序位于同一目录中的dotenv
文件中自动加载任何环境变量。.env
这可以为您提供一个不同的PORT
变量项目来进行投影,而不是PORT
在所有终端上全局定义一个变量项目。
就其他一切而言,听起来PORT
应该在那里(您甚至说它是echo
从命令行正确使用的)。您是否用完node
了与您使用的相同的终端echo
?我能想到的唯一其他问题是,如果您在修改后没有重新启动正在运行服务器的终端~/.bash_profile
,或者可能是某个地方的简单拼写错误。
我本来想将此作为评论发布,但我没有分数。
归档时间: |
|
查看次数: |
9176 次 |
最近记录: |