Node.js中的环境变量未更改

时间:2020-09-03 08:51:18

标签: node.js windows environment-variables

  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}...`));
    

2 个答案:

答案 0 :(得分:1)

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

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

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

首先,安装并保存它:

npm i dotenv

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

PORT=5000

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

然后,在代码中的某处:

require('dotenv').config();

// my main application code

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

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

node_modules/

# Other ignore rules...

# Add this line
.env

祝你好运!

答案 1 :(得分:0)

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

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

//此存储将.env和路径的名称文件存储在何处 并在文件.env中使变量 PORT = 3000