nodejs项目,从.env文件加载环境变量,ditenv简介
1.简介
- dotenv就是一个可以使得Node.js项目,从文件中加载环境变量的NPM包。安装dotenv后,我们只需要将程序的环境变量配置写在.env文件中。其作用将.env配置文件解析为json对象,并对其中的key-value键值对通过process.env将其赋值为环境变量。之后便可通过process.env[key],process.env.MONGO_URI获取对应环境变量。
2.安装
1 | # with npm |
3.使用
一般在项目入口文件index.js中,尽早引入dotenv
1
require('dotenv').config();
在项目的根目录中创建.env文件,在新行中以name=value的形式添加特定于环境的变量,例如:
1
2
3
4
5MYSQL_HOST=localhost
MYSQL_USER=root
MYSQL_PASSWORD=xxxxxx
MONGO_URI=user:password@localhost:27017/data_develop?authSource=admin
MONGO_POOLSIZE=5现在process.env拥有您在.env文件中定义的键和值, 例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15const db = require('db')
db.connect({
host: process.env.MYSQL_HOST,
username: process.env.MYSQL_USER,
password: process.env.MYSQL_PASSWORD
})
...
const mongoose = require('mongoose');
const mongoose = require('mongoose');
mongoose.connect(`mongodb://${process.env.MONGO_URI}`, {
poolSize: process.env.MONGO_POOLSIZE,
autoIndex: false
});
4.其他实用选择项
- 如果包含环境变量的文件位于其他位置,则可以指定自定义路径。
- Path,Default: path.resolve(process.cwd(), ‘.env’)
1
2
3
4const argv = require('yargs').argv;
require('dotenv').config({
path: argv.env
});
5.dotenv源码:dotenv/lib/main.js
1 |
|