node.js项目中常量的配置 - 个人文章 - SegmentFault 思否
在项目中,我们常将一些常量信息做成配置项,如,数据库的链接配置,业务错误代码配资等等。
我们通过两种方式可以解决该问题。
系统环境变量的方式
配置文件的方式
下边,将以这两方面进行展开。
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 思否相关推荐
- Node.js项目中动态加载环境变量配置
NODE_MODULES:项目中动态加载环境变量配置 开始 在平时的 Node.js 项目开发中,我们需要在项目中添加各种各样的配置:服务端口.服务地址.图片上传.数据库.Redis 等等. 通常情况 ...
- node.js项目中的package.json
node.js创建的项目的根目录下,有一个package.json文件,这是一个配置文件,里面是一个写满项目中所需要模块以及项目中的配置信息的json格式的文件 {"name": ...
- vue-cli webpack配置分析 - chenBright - SegmentFault 思否
相信vue使用者对vue-cli都不会陌生,甚至可以说,很熟悉了,但对其webpack的配置可能知之甚少吧. 过完年回来后,我接手了公司的新项目.新项目是一个spa.很自然,我就想到了vue-cli脚 ...
- vue项目全局配置微信分享_Vue项目history模式下微信分享总结-个人文章-SegmentFault思否...
每回遇到微信分享都是一个坑,目前的商城项目使用vue开发,采用history的路由模式,配置微信分享又遇到了很多问题,最后终于解决了,现将解决的过程分享一下. 原文https://justyeh.to ...
- node.js - Nodejs 分布式事务_个人文章 - SegmentFault 思否
事务是恢复和并发控制的基本单位,保证 ACID:原子性.一致性.隔离性.持久性. 对于全是异步的 Nodejs 而言, 并不适合做事务操作: 代码书写上: try ... catch ... 是写给人 ...
- PHP中lev是什么意思,_lev - SegmentFault 思否
如果你觉得Sequelize的文档有点多.杂,不方便看,可以看看这篇. 在使用NodeJS来关系型操作数据库时,为了方便,通常都会选择一个合适的ORM(Object Relationship Mode ...
- mysql中的leading用法_登录 - SegmentFault 思否
前面我们主要分享了MySQL中的常见知识与使用.这里我们主要分享一下MySQL中的高阶使用,主要包括:函数.存储过程和存储引擎. 对于MySQL中的基础知识,可以参见 1 函数 函数可以返回任意类型的 ...
- WebStorm中Node.js项目配置教程(1)——创建项目
Node.js绝对是一个web开发的热点话题,作为web神器的WebStorm也是开发Node.js的佼佼者. 接下来就Node.js项目在WebStorm的配置操作就行详细的讲解,首先是创建项目.两 ...
- WebStorm中Node.js项目配置教程——项目设置
上一章讲解了Node.js项目在WebStorm中的两种创建方式,当完成Node.js项目创建以后,剩下的就是涉及配置设置工作. 为了确保Node.js全局和Node.js核心模块的代码完成功能,打开 ...
最新文章
- 2022-2028年中国密集型光波复用(DWDM)设备行业市场前瞻与投资战略规划分析报告
- pytest测试框架_聊聊 Python 的单元测试框架(三):最火的 pytest
- 查看linux字符集命令,关于Linux字符集的查看及修改
- STL——萃取机制(Traits)
- 咱也开始玩z-blog了
- Linux全能终端,【MobaXterm】Windows全能终端神器—MobaXterm
- 计算机模拟病例考试试题,计算机模拟病例考试评分方法的研究概述
- 运行gclient一直没反应_IC厌氧反应器的调试-温度影响
- Spring Boot RestTemplate 忽略证书访问https
- mysql开发是做什么_数据库开发是做什么东西的
- 01、Hive数据仓库——Hive SQL练习
- 小说阅读器未能连接服务器怎么办,小强小说阅读器无法加载小说章节的解决方法...
- 怎么通过创新再造58
- matlab中的对数log()使用
- 【游戏】Win 10 运行红色警戒2
- 天啦噜!我竟然见到了超级网红区块链本人
- INDEX REBUILD和INDEX REORGANIZE和UPDATE STATISTICS是否涉及Sch-M的案例分析
- Adobe Photoshop CC 2018之ps磁性套索工具抠图(☆)
- HTML 网页图片地址正确但不显示
- [CS229学习笔记] 5.判别学习算法与生成学习算法,高斯判别分析,朴素贝叶斯,垃圾邮件分类,拉普拉斯平滑
热门文章
- ORCAD CAPTURE 元件库详解
- php 四舍五入百位,php取整函数ceil,floor,round,intval函数的区别
- 一旦有辞职念头就干不长了吗_每天都有辞职不想上班的冲动,你有吗?
- eclipse软件有时会退出弹出一串错误弹框_修复iPhone上的iOS 13软件更新失败错误...
- python搭建分布式集群_Spark完全分布式集群搭建【Spark2.4.4+Hadoop3.2.1】
- springboot几种注入_Spring Boot中使用JdbcTemplate访问数据库
- oracle替代变量输出,【Oracle】替代变量
- python -lambda表达式的用法
- python -pass的用法
- Thunar 右键菜单等自定义