开发者学堂课程【Node.js 入门与实战:封装 handler.js 模块】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/588/detail/8322
封装 handler.js 模块
内容介绍:
一、 封装路由
二、 编写路由代码
一、封装路由
//app.js 模块职责:负责启动服务
// 1.加载 express 模块
var express = require( ' express ');
51/加载 config.js 模块
var config = require( './config.js ');7
//加载路由模块
var router = require( './router.js ');
// 2.创建 app 对象
var app = express();
console.log(router.toString());
// 3.注册路由
//设置 app 与 router 相关联18 lapp.use('/', router);19
app.use(router);
//4.启动服务
app.listen(config.port, function {
console.log('http:/ /localhost:' + config.port); });
先新建一个router.js在里面创建路由对象,设置一堆路由,在把路由返回后,主模块中加载路由模块。把路由模块传到use里面,就相当于,它里面的路由挂在app里面。
二、编写路由代码
要有模板文件,resources 和 views 文件,把这些文件拷贝过去。
代码:
//2.通过 router 对象设置(挂载)路由 router.get('/', function(req, res)
{l / body . . .
});
在 router.js 里面只是路由判断,不写代码。在到项目中新建一个 hendler.js,业务模块是返回一个对象,这个对象里面有若干个方法,每个方法处理一个业务。路由模块调用业务模块的代码,但是这么做还是不好,因为里面只有 req 和 res 两个方法,在匿名函数里面也是这样的方法。
要把代码改成:
//2.通过 router 对象设置(挂载)路由
router-get(/ " , handler.inde
x
);
直接可以把 henlder 里面的代码加到业务模块里面去。
要在 router 里面调用方法,在里面新建。(代码如下:)
代码:
//加载业务模块
var handler = require( ' ./handler.js ');
var router = express.Router(;
// 2.通过 router 对象设置(挂载)路由router.get('/', fupction(req, res)ihandler.index(req, res);});
跑代码,在到 handler 里面添加一个这个 res.send(“这个是 handler.index 方法中的源代码。“);然后在测试。(结果如下:)