在项目中,咱们常将一些常量信息作成配置项,如,数据库的连接配置,业务错误代码配资等等。
咱们经过两种方式能够解决该问题。node
下边,将以这两方面进行展开。数据库
Node.js 中经过process.env来访问当前的环境变量信息express
$vim test.js console.log(process.env.HELLO_MSG); // 系统设置环境变量 $ export HELLO_MSG="Hello, world" && node 1.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)
{ "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配置文件 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);