开发者学堂课程【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
.js
on
);
//
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 模块的返回值(函数),并将req和res对象传递给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’,’
d
ata.json’)
}
l 正确示范:(在config.js文件中)
var path = require(“path”);
muddle
.expors = {
“port”: 9091
“
datapath”
:
path
.join(__dirname,’data’,’
d
ata.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,读取文件正常。测试完成。