封装 config.js 模块|学习笔记

简介: 快速学习封装 config.js 模块

开发者学堂课程【Node.js 入门与实战封装config.js模块】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/588/detail/8308


封装config.js模块

 

基本内容

一、配置模块的提取

二、config.json

 

一、配置模块的提取

//模块一(服务模块) :负责启动服务

//模块二(扩展模块):负责扩展 req 和 res 对象,为 req 和 res 增加以下更方便好用的 API

//模块三路由模块):负责路由判断

//模块四(业务模块):负责处理具体路由的业务的代码

//模块五(数据操作模块)负贵进行数据库操作

//模块六(配置模块) :负责报错各种项目中用到的配置信息

// 1.加载 http 模块

var http =require( 'http);

var context = require(' ./context.js');  

var router = require('./router.js );

var config = require('./config.json ); //require的返回值config 是什么

json 的对象。比如说没有在这个 config.json 里面设置它导出内容类型,这里不需要设置,因为它本身就是个 json 文件,所以根本不需要设置,返回的就是 json 对象。

console.log('1');

//var count=0;//这里的代码只有在第一次启动的时候会执行一次。

//2.创建服务

http. createServer(function(req, res) {

// count++i;//这里的代码每次请求都会执行

console.log('哈哈');  

//Context.js 模块的返回值函数),并将reqres对象传递给Context.js模块

context(req, res);

//调用路由模块的返回值(函数),并将 req 和 res 对象传递给 router.js 模块

router(req, res);

}).listen(config.port, function() {

console . log( ' http://localhost:  config.port');

});


二、config.json

1、至于像这样(http://localhost:9090)的端口号,或者是文件的路径,比如说读取写入 data.json 文件,这样的路径都是写死,这样东西也要把它提取出来,这些就配置信息

把这些配置信息单独进到一个文件夹;在程序中要用到的话,只要从那个配置文件中读取,这个怎么进行的下去?

先新建一个模块,这个模块因为保存这些配置信息,所以把这个模块叫做config.json,一个文件模块可以是一个 js 文件,json 文件或者等等,现在就创建json 文件,json 文件里面直接就是 json 的格式对象

第一个要在里面保存什么呢?

要保存一个服务的端口号;在 json 里面写入 port,比如是9091,这样端口号就保存成功。

{

“port”: 9091

}

2、如果在这个 config.json 里面保存信息,保存 data.json 这个文件的路径该怎么写程序

l 错误例子不能在 json 文件中这样写以下程序只可以在 js 文件中存在

var path = require(“path”);

{

“port”: 9091

datapath”path.join(__dirname,’data’,’data.json’)

}

l 正确示范:(在config.js文件中

var path = require(“path”);

muddle.expors = {

“port”: 9091

datapath”path.join(__dirname,’data’,’data.json’);

viewpath”path.join(__dirname,views’)//用之前模块的根目录拼接view模块路径

};

在js文件中的正确的程序步骤

// 1.加载 http 模块

var http =require( 'http);

var context = require(' ./context.js');  

var router = require('./router.js );

var config = require('./config.js ); 

console.log('1');

//var count=0;//这里的代码只有在第一次启动的时候会执行一次。

//2.创建服务

http. createServer(function(req, res) {

// count++i;//这里的代码每次请求都会执行

console.log('哈哈');

//Context.js模块的返回值函数),并将 req res 对象传递给 Context.js 模块

context(req, res);

//调用路由模块的返回值(函数),并将 req 和 res 对象传递给 router.js 模块

router(req, res);

}).listen(config.port, function() {

console . log( ' http://localhost:  config.port');

});

3、打开 cmd 进行测试访问9091,读取文件正常测试完成

相关文章
|
3月前
|
前端开发 数据安全/隐私保护
crypto-js中AES的加解密封装
文章介绍了如何在前端使用crypto-js库进行AES加密和解密,提供了加解密的函数封装示例,并演示了如何加密和解密字符串或对象。
305 1
crypto-js中AES的加解密封装
|
2月前
|
缓存 JSON JavaScript
Node.js模块系统
10月更文挑战第4天
43 2
|
3月前
|
JavaScript 前端开发 API
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
|
2月前
|
JavaScript 应用服务中间件 Apache
Node.js Web 模块
10月更文挑战第7天
33 0
|
2月前
|
JavaScript 网络协议
Node.js 工具模块
10月更文挑战第7天
21 0
|
3月前
|
设计模式 JavaScript
JS发布订阅模式封装(纯手工)
发布订阅模式是JS常用的设计模式,在面试中也会经常遇到,以下是我的手写实现方式,经测试效果不错,小伙伴们们可以直接拷贝使用。
|
2月前
|
JavaScript 前端开发
【干货分享】JavaScript学习笔记分享
【干货分享】JavaScript学习笔记分享
58 0
|
3月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
2月前
|
JavaScript 前端开发 应用服务中间件
Node.js Web 模块
Node.js Web 模块
|
3月前
|
算法 安全 Java
微服务(四)-config配置中心的配置加解密
微服务(四)-config配置中心的配置加解密