nodejs -Router


Node 用 request 事件来处理请求响应,事件内使用分支语句处理不同路径的请求,而 Express 封装了这些操作,使得代码简洁优雅

但如果请求路径变多,都写在 app.js 文件里的话,就会让这个入口文件变得臃肿且难维护

加上 Node 是模块化编程,所以应该将这些 app.get() 和 app.post() 都抽取出来作为一个路由模块 router.js

 

方式一,router.js 作为入口文件,此方式抽离了路由,但入口文件改变了,职能划分不好

 

方式二,将 router.js 的路由作为一个函数导出,此方式保证了 app.js 为入口文件并且抽离出了路由模块,但这还不是最好的方式

 

方式三,Express 提供了一种更好的方式专门来包装路由

这样,职责划分清晰了,app.js入门模块用于启动服务,做一些服务相关配置,如配置模板引擎、body-parser解析表单post请求体、提供静态资源服务、监听端口启动服务和挂载路由等工作

router.js 路由模块只用来处理路由,根据不同的请求方法和请求路径设置具体的请求处理函数

模块职责要单一,一个模块就做一件事,模块的划分是为了增强项目代码的可维护性,提升开发效率


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM