如何在node.js中设置环境变量?
我希望不依赖于任何特定平台的方法,比如运行export或cmd.exe的set命令。
我希望不依赖于任何特定平台的方法,比如运行export或cmd.exe的set命令。
process.env
中设置你的环境变量:process.env['VARIABLE'] = 'value';
-OR-
process.env.VARIABLE = 'value';
var process = require('process')
,因为process
是一个全局变量。 - alessioalexprocess.env.VARIABLE
是可以的,而process.env['VARIABLE']
在任何情况下都可以使用;由于原始问题没有提供足够的细节,因此更通用的示例似乎更合适。 - lanzz首先,您应该安装此软件包:-
https://github.com/motdotla/dotenv [npm install dotenv
]
然后,在您的项目根目录中创建一个 .env 文件,在其中添加以下变量:
NODE_ENV=PRODUCTION
DATABASE_HOST=localhost
require('dotenv').config()
console.log(process.env.NODE_ENV);
这对我有效,希望能帮到你。
Node 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 i dotenv
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}...`);
});
我正在使用Express,所有的Express代码都在app.js中,这里写出供您参考。
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
npm install dotenv
require('dotenv').config();
你可以使用以下方法读取变量:
console.log(process.env.MY_VARIABLE);
虽然您可以使用以下方式设置变量:
process.env.MY_OTHER_VARIABLE = 'helloworld
;
其中SET是指设置变量的意思。