node.js項目中常量的配置

在項目中,咱們常將一些常量信息作成配置項,如,數據庫的連接配置,業務錯誤代碼配資等等。
咱們經過兩種方式能夠解決該問題。node

  1. 系統環境變量的方式
  2. 配置文件的方式

下邊,將以這兩方面進行展開。數據庫

1. 系統環境變量

Node.js 中經過process.env來訪問當前的環境變量信息express

$vim test.js
console.log(process.env.HELLO_MSG);

// 系統設置環境變量
$ export HELLO_MSG="Hello, world" && node 1.js

2. 經過配置文件

  • js配置文件
// config.js
var config = {
  // debug 爲 true 時,用於本地調試
  debug: true,

  name: 'Nodeclub', // 社區名字
  description: 'CNode:Node.js專業中文社區', // 社區的描述
  keywords: 'nodejs, node, express, connect, socket.io',
  
  // 其餘配置項...
};
module.exports = config;

// 在使用的模塊文件中引入
var config = require('./config')

console.log(config.debug)
  • json文件
{
  "debug": true,
  "name": "Nodeclub",
  "description": "CNode:Node.js專業中文社區",
  "keywords": "nodejs, node, express, connect, socket.io"
}

// 經過require()函數
var config = require('./config.json');

// 讀取文件並使用JSON.parse()解析
var fs = require('fs');
var config = JSON.parse(fs.readFileSync('./config.json').toString());

能夠使用strip-json-comments模塊來去掉配置文件中的備註,再將其看成標準的JSON來解析json

var fs = require('fs');
var stripJsonComments = require('strip-json-comments');

function loadJSONFile (file) {
  var json = fs.readFileSync(file).toString();
  return JSON.parse(stripJsonComments(json));
}

var config = loadJSONFile('./config.json');
console.log(config);
  • YAML格式
// YAML配置文件
name: John Smith
age: 37
spouse:
  name: Jane Smith
  age: 25
children:
  - name: Jimmy Smith
    age: 15
  - name: Jenny Smith
    age: 12

// 經過文件讀取的方式,將得到的文件內容解析成json對象vim

var fs = require('fs');
var YAML = require('yamljs');

function loadYAMLFile (file) {
  return YAML.parse(fs.readFileSync(file).toString());
}

var config = loadYAMLFile('./config.yaml');
console.log(config);
相關文章
相關標籤/搜索