nodejs 提取配置项到 json 文件

在写 nodejs 服务端代码时,我们常涉及到定义监听端口号、最大连接数、时间限制等等配置。我们当然可以把这些配置直接写在 js 代码里,为什么要提取到 json 文件呢?

难道仅因为它们“看起来像”配置项,我们就把它们提取到 json 文件单独管理吗?如果仅因为这样,那就有点牵强了。我们来考虑一下这样的情景,当部署到线上时,一台机器需要部署两个甚至更多的实例,是的,因为 nodejs 能使用的内存作了限制(64位为1.4GB,32位为0.7GB)。那么,我们就需要监听不同端口号!那么把其它常见的配置提出来统一管理,既让代码整洁,又方便部署和管理,何乐而不为呢。

1,首先来看一下 json 文件(eg: project.json)

1 {
2   "port" : "9527",
3   "MAX_CONNECTIONS" : "6000"
4 }

这里只是作一个示例,实际 json 文件可能复杂得多。

2,node 中 js 怎么读取 json 文件

var project = JSON.parse(fs.readFileSync(path.join(__dirname,‘project.json‘), ‘utf8‘));

思路就是引入 node 的 fs 模块,调用同步读取文件的函数,然后传入 js 的 JSON.parse() 函数,得到的 project 对象或对象数组,接着就可以用 project.MAX_CONNECTIONS 的语法操作 json 里的配置项,over。

				
时间: 2024-08-04 16:03:50

nodejs 提取配置项到 json 文件的相关文章

nodejs fs读取静态json文件

let fs = require('fs'),stream = fs.createReadStream('./obd.json'),data = ""; stream.on('data',function(params){ console.log(params); console.log(params.toString()); data += params; }); stream.on('end',function(){ console.log(data); console.log(d

Ajax获取 Json文件提取数据

摘自 Ajax获取 Json文件提取数据 1. json文件内容(item.json) [ { "name":"张国立", "sex":"男", "email":"[email protected]", "url":"./img/1.jpg" }, { "name":"张铁林", "sex"

[转]nodejs中package.json和package-lock.json文件的功能分析

本文转自:https://blog.csdn.net/u013992330/article/details/81110018 最新版nodejs中,多了一个package-lock.json文件,刚开始对这个文件很是疑惑,后来查了一番资料后,通过验证,终于确定了这两个文件的关系. package.json与package-lock.json文件的作用package.json文件记录你项目中所需要的所有模块.当你执行npm install的时候,node会先从package.json文件中读取所有

nodejs第三天(核心模块与文件模块,核心模块和文件模块引入的区别,从模块外部访问模块内部,使用exports对象,npm包管理工具package.json文件,模块对象属性,将模块定义分类,npm发布流程,安装淘宝镜像,模块的管理)

核心模块与文件模块 ndejs是一个js运行环境,是一个平台.nodejs基于操作系统,封装了一些功能,http,tcp,udp,i/o模块,path,fs,stream等等 通过nodejs内置的模块,他们就称为核心模块.(他们都是nodejs内置的)http,fs,path等 文件模块:只要写一个js文件,每一个文件都是模块 .(自己写的js文件都被称为文件模块) 核心模块和文件模块引入的区别 核心模块有环境变量做调度 文件模块需要给出文件路径 注意:核心模块是nodejs内置的一些功能模块

nodejs写入json文件,格式化输出json的方法

假如我需要把data序列化成json字符串,然后写入data.json文件中,代码如下: 1 let str = JSON.stringify(data) 2 3 fs.writeFile('data.json',str,function(err){ 4 if (err) {res.status(500).send('Server is error...')} 5 }) 入json文件后,都会出现很恶心的一行式,看看 不能忍对不对!!! Vanilla JS的JSON.stringify()是可

QT开发(六十二)———QT5解析Json文件

QT开发(六十二)---QT5解析Json文件 一.QT5 Json简介 QT4中使用第三方库QJson解析JSON文件. QT5新增加了处理JSON的类,类均以QJson开头,包含在QtCore模块中.QT5新增加六个相关类: QJsonArray 封装 JSON 数组 QJsonDocument 读写 JSON 文档 QJsonObject 封装 JSON 对象 QJsonObject::iterator 用于遍历QJsonObject的STL风格的非const遍历器 QJsonParseE

3-了解.json文件

1.app.json的配置项 下面是微信官方给出的一个json配置文件. { "pages": [ "pages/index/index", "pages/logs/index" ], "window": { "navigationBarTitleText": "Demo" }, "tabBar": { "list": [{ "pageP

Echarts-echart和springMVC实现堆栈图(读取JSON文件数据)

这篇echarts的堆栈图主要是根据这篇D3.js堆栈图(http://blog.csdn.net/u013147600/article/details/46770415 )实现的. 效果图: 1.JSON文件数据: { "name":"某市2005-1010年利润情况", "product": [ { "name": "PC" , "sales": [ { "year&quo

使用Scrapy命令行工具【导出JSON文件】时编码设置

Windows 10家庭中文版,Python 3.6.4,virtualenv 16.0.0,Scrapy 1.5.0, 使用scrapy命令行工具建立了爬虫项目(startproject),并使用scrapy genspider建立了爬虫,用于抓取某中文门户网站首页的 新闻标题及其链接,全程都在虚拟环境(virtualenv)中执行. 使用scrapy crawl执行爬虫程序并导入一个json文件,此时可以看到,命令行窗口显示的 新闻标题是中文,但在打开导出的json文件时,其新闻标题显示为以