繁体   English   中英

环境变量在 Node.js 中没有改变

[英]Environment variables not changing in Node.js

  1. set NODE_ENV=production在我的电脑上不起作用。 NODE_ENV没有从“开发”改变

    if(app.get('env') === 'development'){ app.use(morgan('tiny')); console.log("Morgan enabled..."); }
  2. set PORT=5000不起作用 - PORT没有从“3000”改变。

     const port = process.env.PORT || 3000; app.listen(port, () => console.log(`Listening on port ${port}...`));

作为 Windows 用户,我过去在导出/设置 node 使用的环境变量时遇到了问题。

我最终使用了dotenv NPM 包,因为无论您在什么系统上开发,您都可以确保它正确加载了环境变量。

Dotenv 是一个零依赖模块,它将环境变量从 .env 文件加载到 process.env 中。

首先,安装并保存它:

npm i dotenv

在项目的根目录中创建一个名为.env

PORT=5000

您可以使用简单的X=Y语法设置任意数量的变量。

然后,在您的代码中的某处:

require('dotenv').config();

// my main application code

通过上面的示例,您现在可以访问process.env.PORT ,它等于5000 (从.env文件设置的值)

注意:通过添加.gitignore规则避免将.env存储在您的版本控制中:

node_modules/

# Other ignore rules...

# Add this line
.env

祝你好运!

您应该通过yarn add dotenv安装 dotenv 然后将文件创建到服务器中的文件夹 .env 或应用程序的主页添加此代码

const dotenv=require('dotenv').config({path:'./env})

//这取决于你在哪里存储 .env 和路径的名称文件以及文件 .env make variable PORT=3000

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM