如何在node.js中设置环境变量?

时间:2012-05-31 07:49:24

标签: node.js

如何在node.js中设置环境变量?

我宁愿不依赖任何特定于平台的内容,例如运行导出或cmd.exe的设置。

4 个答案:

答案 0 :(得分:122)

您可以在process.env

中设置环境变量
process.env['VARIABLE'] = 'value';

Node应该关注平台细节。

答案 1 :(得分:0)

首先,您应该安装此软件包:- https://github.com/motdotla/dotenv [npm install dotenv]

然后,您需要在项目的根目录中创建一个.env文件,然后可以在其中添加如下所示的变量:-

NODE_ENV=PRODUCTION
DATABASE_HOST=localhost

现在,您可以像下面这样轻松地在代码中访问这些变量:-

require('dotenv').config()
console.log(process.env.NODE_ENV);

它为我工作,希望能有所帮助。

答案 2 :(得分:0)

节点v14.2.0 要设置环境变量,请首先在项目主目录中创建一个文件名config.env,然后编写所需的所有变量,例如

config.env

NODE_ENV=development
PORT=3000
DATABASE=mongodb+srv://lord:<PASSWORD>@cluster0-eeev8.mongodb.net/tour-guide?retryWrites=true&w=majority
DATABASE_LOCAL=mongodb://localhost:27017/tours-test
DATABASE_PASSWORD=UDJUKXJSSJPWMxw

现在从npm安装dotenv,dotenv将卸载您的工作

npm i dotenv

现在在您的服务器启动脚本中,在我的情况下是server.js,请使用doenv加载环境变量。

const dotenv = require('dotenv');
dotenv.config({ path: './config.env' });
const app = require('./app'); // must be after loading env vars using dotenv

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

我正在app.js中使用我所有的Express代码,请在此处编写以供参考

const express = require('express');
const tourRouter = require('./route/tourRouter');
const userRouter = require('./route/userRouter');

if (process.env.NODE_ENV === 'development') {
  console.log('mode development');
}
app.use(express.json());

app.use('/api/v1/tours', tourRouter);
app.use('/api/v1/users', userRouter);

module.exports = app;

现在使用控制台启动服务器,我正在使用 nodemon ,您可以从npm安装它;

nodemon server.js

答案 3 :(得分:0)

好吧,我首先从npm安装dotenv软件包

npm install dotenv

然后将其导入到我的文件中。

require('dotenv').config();

那你就好了。 :)

您可以使用以下方法读取变量:

console.log(process.env.MY_VARIABLE);

尽管您可以使用以下方法 SET 变量:

process.env.MY_OTHER_VARIABLE = 'helloworld;