封装 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,读取文件正常测试完成

相关文章
|
14天前
|
前端开发 数据安全/隐私保护
crypto-js中AES的加解密封装
文章介绍了如何在前端使用crypto-js库进行AES加密和解密,提供了加解密的函数封装示例,并演示了如何加密和解密字符串或对象。
62 1
crypto-js中AES的加解密封装
|
11天前
|
JavaScript 前端开发 API
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
|
29天前
|
设计模式 JavaScript
JS发布订阅模式封装(纯手工)
发布订阅模式是JS常用的设计模式,在面试中也会经常遇到,以下是我的手写实现方式,经测试效果不错,小伙伴们们可以直接拷贝使用。
|
2月前
|
JavaScript 数据可视化
JS如何优雅的实现模块自动滚动展示
【8月更文挑战第22天】JS如何优雅的实现模块自动滚动展示
22 1
JS如何优雅的实现模块自动滚动展示
|
1月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
1月前
Nest.js 实战 (十二):优雅地使用事件发布/订阅模块 Event Emitter
这篇文章介绍了在Nest.js构建应用时,如何通过事件/发布-订阅模式使应用程序更健壮、灵活、易于扩展,并简化服务间通信。文章主要围绕@nestjs/event-emitter模块展开,这是一个基于eventemitter2库的社区模块,提供了事件发布/订阅功能,使得实现事件驱动架构变得简单。文章还介绍了如何使用该模块,包括安装依赖、初始化模块、注册EventEmitterModule、使用装饰器简化监听等。最后总结,集成@nestjs/event-emitter模块可以提升应用程序的事件驱动能力,构建出更为松耦合、易扩展且高度灵活的系统架构,是构建现代、响应迅速且具有高度解耦特性的Nest.
|
1月前
|
缓存 JavaScript 前端开发
JavaScript模块化开发:ES6模块与CommonJs的对比与应用
JavaScript模块化开发:ES6模块与CommonJs的对比与应用
23 2
|
2月前
|
算法 JavaScript 前端开发
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
137 1
|
2月前
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
112 1