node.js项目中常量的配置 - 个人文章 - SegmentFault 思否

在项目中,我们常将一些常量信息做成配置项,如,数据库的链接配置,业务错误代码配资等等。

我们通过两种方式可以解决该问题。

  1. 系统环境变量的方式

  2. 配置文件的方式

下边,将以这两方面进行展开。

1. 系统环境变量

Node.js 中通过process.env来访问当前的环境变量信息

$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来解析

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对象

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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值