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

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

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

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

  1. Node.js项目中动态加载环境变量配置

    NODE_MODULES:项目中动态加载环境变量配置 开始 在平时的 Node.js 项目开发中,我们需要在项目中添加各种各样的配置:服务端口.服务地址.图片上传.数据库.Redis 等等. 通常情况 ...

  2. node.js项目中的package.json

    node.js创建的项目的根目录下,有一个package.json文件,这是一个配置文件,里面是一个写满项目中所需要模块以及项目中的配置信息的json格式的文件 {"name": ...

  3. vue-cli webpack配置分析 - chenBright - SegmentFault 思否

    相信vue使用者对vue-cli都不会陌生,甚至可以说,很熟悉了,但对其webpack的配置可能知之甚少吧. 过完年回来后,我接手了公司的新项目.新项目是一个spa.很自然,我就想到了vue-cli脚 ...

  4. vue项目全局配置微信分享_Vue项目history模式下微信分享总结-个人文章-SegmentFault思否...

    每回遇到微信分享都是一个坑,目前的商城项目使用vue开发,采用history的路由模式,配置微信分享又遇到了很多问题,最后终于解决了,现将解决的过程分享一下. 原文https://justyeh.to ...

  5. node.js - Nodejs 分布式事务_个人文章 - SegmentFault 思否

    事务是恢复和并发控制的基本单位,保证 ACID:原子性.一致性.隔离性.持久性. 对于全是异步的 Nodejs 而言, 并不适合做事务操作: 代码书写上: try ... catch ... 是写给人 ...

  6. PHP中lev是什么意思,_lev - SegmentFault 思否

    如果你觉得Sequelize的文档有点多.杂,不方便看,可以看看这篇. 在使用NodeJS来关系型操作数据库时,为了方便,通常都会选择一个合适的ORM(Object Relationship Mode ...

  7. mysql中的leading用法_登录 - SegmentFault 思否

    前面我们主要分享了MySQL中的常见知识与使用.这里我们主要分享一下MySQL中的高阶使用,主要包括:函数.存储过程和存储引擎. 对于MySQL中的基础知识,可以参见 1 函数 函数可以返回任意类型的 ...

  8. WebStorm中Node.js项目配置教程(1)——创建项目

    Node.js绝对是一个web开发的热点话题,作为web神器的WebStorm也是开发Node.js的佼佼者. 接下来就Node.js项目在WebStorm的配置操作就行详细的讲解,首先是创建项目.两 ...

  9. WebStorm中Node.js项目配置教程——项目设置

    上一章讲解了Node.js项目在WebStorm中的两种创建方式,当完成Node.js项目创建以后,剩下的就是涉及配置设置工作. 为了确保Node.js全局和Node.js核心模块的代码完成功能,打开 ...

最新文章

  1. 2022-2028年中国密集型光波复用(DWDM)设备行业市场前瞻与投资战略规划分析报告
  2. pytest测试框架_聊聊 Python 的单元测试框架(三):最火的 pytest
  3. 查看linux字符集命令,关于Linux字符集的查看及修改
  4. STL——萃取机制(Traits)
  5. 咱也开始玩z-blog了
  6. Linux全能终端,【MobaXterm】Windows全能终端神器—MobaXterm
  7. 计算机模拟病例考试试题,计算机模拟病例考试评分方法的研究概述
  8. 运行gclient一直没反应_IC厌氧反应器的调试-温度影响
  9. Spring Boot RestTemplate 忽略证书访问https
  10. mysql开发是做什么_数据库开发是做什么东西的
  11. 01、Hive数据仓库——Hive SQL练习
  12. 小说阅读器未能连接服务器怎么办,小强小说阅读器无法加载小说章节的解决方法...
  13. 怎么通过创新再造58
  14. matlab中的对数log()使用
  15. 【游戏】Win 10 运行红色警戒2
  16. 天啦噜!我竟然见到了超级网红区块链本人
  17. INDEX REBUILD和INDEX REORGANIZE和UPDATE STATISTICS是否涉及Sch-M的案例分析
  18. Adobe Photoshop CC 2018之ps磁性套索工具抠图(☆)
  19. HTML 网页图片地址正确但不显示
  20. [CS229学习笔记] 5.判别学习算法与生成学习算法,高斯判别分析,朴素贝叶斯,垃圾邮件分类,拉普拉斯平滑

热门文章

  1. ORCAD CAPTURE 元件库详解
  2. php 四舍五入百位,php取整函数ceil,floor,round,intval函数的区别
  3. 一旦有辞职念头就干不长了吗_每天都有辞职不想上班的冲动,你有吗?
  4. eclipse软件有时会退出弹出一串错误弹框_修复iPhone上的iOS 13软件更新失败错误...
  5. python搭建分布式集群_Spark完全分布式集群搭建【Spark2.4.4+Hadoop3.2.1】
  6. springboot几种注入_Spring Boot中使用JdbcTemplate访问数据库
  7. oracle替代变量输出,【Oracle】替代变量
  8. python -lambda表达式的用法
  9. python -pass的用法
  10. Thunar 右键菜单等自定义