Node.js里面怎么设置process.env.PORT的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js里面怎么设置process.env.PORT的值相关的知识,希望对你有一定的参考价值。

app.set(\'port\', process.env.PORT || 3000):设置端口为 process.env.PORT 或 3000

在 node.js 中模块分为核心模块和文件模块两种,核心模块是通过 require(\'xxxx\') 导入的,文件模块是以 require(\'/xxxx\') 或 require(\'./xxxx\')、require(\'../xxxx\') 形式导入的;核心模块是用c/c++编译的二进制模块,而文件模块是后缀为.js、.json、.node 的文件,在 node.js 中一个文件/文件夹也可以称之为一个模块。

这里导入了 express、http、path 核心模块,routes 文件夹下的 index.js 和 user.js 文件模块。
因为 express 框架是依赖 connect 框架(Node的一个中间件框架)创建而成的,可查阅 connect 文档:http://www.senchalabs.org/connect/和 express 官方文档:http://expressjs.com/api.html了解更多内容。
app.set(name, value):设置 name 的值为 value
app.set(\'views\', __dirname + \'/views\'):设置 views 文件夹为视图文件的目录,存放模板文件,__dirname 为全局变量,存储着当前正在执行脚本所在的目录名。
app.set(\'view engine\', \'ejs\'):设置视图模版引擎为 ejs
app.use([path], function):使用中间件 function,可选参数path默认为"/"
app.use(express.favicon()):connect 内建的中间件,使用默认的 favicon 图标,如果想使用自己的图标,需改为app.use(express.favicon(__dirname + \'/public/images/favicon.ico\')); 这里我们把自定义的 favicon.ico 放到了 public/images 文件夹下。
app.use(express.logger(\'dev\')):connect 内建的中间件,在开发环境下使用,在终端显示简单的不同颜色的日志,比如在启动 app.js 后访问 localhost:3000,终端会输出:
Express server listening on port 3000 GET / 200 21ms - 206b GET /stylesheets/style.css 304 4ms

数字200显示为绿色,304显示为蓝色。假如你去掉这一行代码,不管你怎么刷新网页,终端都只有一行 Express server listening on port 3000。
参考技术A 最佳答案:

1.linux环境下:

$ PORT=1234 node app.js

使用上面命令每次都需要重新设置,如果想设置一次永久生效,使用下面的命令。

$ export PORT=1234

$ node app.js

2.windows下面按照顺序这样进行:

set PORT=1234

node app.js本回答被提问者和网友采纳

如何使用 Amazon EC2 实例为生产设置 node.js process.env 变量?

【中文标题】如何使用 Amazon EC2 实例为生产设置 node.js process.env 变量?【英文标题】:How to set up node.js process.env variables for production with an Amazon EC2 instance? 【发布时间】:2018-04-29 11:39:01 【问题描述】:

我已经搜索并搜索了这个问题的直接答案,但我一无所获。我有我的本地 .env 文件,并且正在使用 dotenv 成功加载它。

我能找到的为生产设置 process.env 变量的唯一答案是使用 Elastic Beanstalk。

有没有办法只用一个 EC2 实例来设置这些变量?

【问题讨论】:

【参考方案1】:

对于基于 Ubuntu (Linux) 的 EC2 实例

    编辑~/.bashrc将运行程序的用户文件

    sudo nano ~/.bashrc

    在末尾添加以下行,使用任何变量名。假设唯一且未使用

    导出 API_KEY=btgj32fkf

    保存文件并

    来源 ~/.bashrc

现在,在节点程序中 process.env.API_KEY 将可用。

对于不同的EC2操作系统,上述方法会略有不同

【讨论】:

【参考方案2】:

这是一个普通的服务器。你总是可以通过

设置环境
EXPORT FOO=bar

【讨论】:

服务器一重启,变量不会重置吗? 把它放到登录shell rc 以便在启动时获取源代码?【参考方案3】:
if [[ ! -d "$MyVar" ]]; then 
    export MyVar="abc"
    echo 'export MyVar="abc"' >> ~/.bashrc
fi

使用此代码。它将 MyVar 永久保存在 ~/.bashrc 中

【讨论】:

以上是关于Node.js里面怎么设置process.env.PORT的值的主要内容,如果未能解决你的问题,请参考以下文章

在 AWS Elastic Beanstalk 下设置 node.js process.env 变量

如何更改 node.js 中 process.env.PORT 的值?

如何在 node.js 中存根 process.env?

Node.JS 错误 - process.env.NODE_TLS_REJECT_UNAUTHORIZED。这是啥意思?

process.env.NODE_ENV和env在webpack中的使用

vue - process.env 定义