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

  • 安装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文件里面修改源代码使其支持即可。

原文地址:https://www.cnblogs.com/huyifei/p/9922849.html