根据不同运行环境配置和组织node.js应用

时间:2024-01-11 20:46:50
  • 安装node-config模块
npm install config --save || yarn add config

mkidr config // 创建config文件夹

在config文件夹下面创建config/default.json文件,这是环境配置的默认的文件,如果没有别的配置,则为默认这里配置。如果要设置自己的环境配置文件,可以直接新建配置文件.json,如dev环境dev.json即可,然后在package.json里面配置相关启动设置,加载对应环境文件即可。

default.json里面编辑如下内容,实现项目配置:

{
// Customer module configs
"Customer": {
"dbConfig": {
"host": "localhost",
"port": 5984,
"dbName": "customers"
},
"credit": {
"initialLimit": 100,
// Set low for development
"initialDays": 1
}
}
}

Node.js express vue react native week 前端

在项目代码中进行如下调用:

var config = require('config');
//...
var dbConfig = config.get('Customer.dbConfig'); // 获取数据
db.connect(dbConfig, ...); // 连接数据库 // 检查属性是否存在
if (config.has('optionalFeature.detail')) {
var detail = config.get('optionalFeature.detail');
//...
}

项目package.jsonscripts脚本文件配置,这里已pm2为例:

"scripts": {
"start": "supervisor app", // 本地环境
"dev": "set NODE_ENV=dev&& npm install && pm2 start app.js", // 线上开发环境
},

PS: set NODE_ENV=dev&& 运行环境名称和&&直接不能用空格否则会处理成dev 而报错,模块作者没有对匹配到的数据进行去空格处理,用兴趣的可以自行到该模块下面的libs/config.js文件里面修改源代码使其支持即可。