今日授课内容
- 复习 hackernews 实现
- 模块化改造 Hacker News 思路(5个模块)
- 项目地址:https://github.com/YHF7/HeackerNews
HackerNews 代码模块化
提取模块
app.js 模块
- 职责
- 创建并启动 http 服务
- 职责
context.js 模块
- 职责
- 在 http request 事件正式开始前,先为 request 对象 和 response 对象挂载需要的成员
- 在正式开始处理请求前的准备工作
- 职责
router.js 模块
职责
- 判断用户请求路径,根据不同路径调用不同的处理方法
其他
- 该模块返回一个函数,把req 和 res对象作为该函数的参数
- 路由一般包含两部分:1、URL路径; 2、请求方法:get 、 post 等
config.js模块
- 职责:对于可能变化的地方,比如路径,单独配置起来。
- 服务监听的端口号
- viewPath路径
- data保存的路径等
- config.js模块一般放到项目根目录下,和app.js在同一级目录
- 职责:对于可能变化的地方,比如路径,单独配置起来。
handler.js模块
- 职责:用来封装处理业务逻辑的代码
- 把router.js模块中对于不同请求的处理代码封装到不同的函数(方法)中
- 处理不同请求封装成不同的方法
- 职责:用来封装处理业务逻辑的代码