node.js项目改进之路由分发系统
2017-04-10 20:34
495 查看
路由系统改进
原来路由
app.jsapp.js
// routes app.use(index.routes(), index.allowedMethods()); app.use(user.routes(), user.allowedMethods());
我们每写一个路由模块就要在这个文件里引入一个路由文件,然后在下面使用路由,这样等到程序变得非常复杂的时候这个app.js也就打得没法看,
所以我们有必要写一个统筹的路由模块用于分发路由
改进路由模块
将原来在routes模块下的文件删除,写入文件_index.js
var router = require('koa-router')(); var fs=require('fs'); var path=require('path'); const basename=path.basename(module.filename); //用于分发响应请求给controller fs .readdirSync(__dirname) .filter(function(file) { return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js') }) .forEach(function(file) { let route = require(path.join(__dirname, file)) router.use(route.routes(), route.allowedMethods()) }) module.exports = router;
这个文件会引入在本目录下的所有路由文件,并使他们生效。
我们在app.js中改进
app.js
const _index = require('./routes/_index'); app.use(_index.routes(), _index.allowedMethods());//去除之前引入的路由并且使用路由分发
这样我们只需要在route目录下面写路由模块而不需要再为app.js添加任何代码
最终项目地址:https://github.com/jijuxie/koa2_all.git
相关文章推荐
- node.js项目改进之路由分发系统下路由命名
- node.js项目改进之日志系统
- node.js项目改进之更新重启nodemon
- node.js项目改进之分离控制器
- node.js项目改进之环境配置
- node.js项目改进之改进mysql模块(2)
- 使用Node.js的express框架搭建一个简单项目并且添加了一个路由
- node.js项目改进之restful API接口支持
- 夺命雷公狗---node.js---17之项目的构建在node+express+mongo的博客项目2之一,二级路由
- 第三天node.js,路由与中间件及 项目的搭建
- node.js开发博客系统---前端项目搭建(一)
- nodejs+websocket实时聊天系统改进版
- node.js项目改进之分离logic层确立数据中枢
- node.js项目改进之View模块改进
- 基于LigerUI+JBPM5自定义表单+Node.js的J2EE大型金融项目《财务预算系统》开发全程实录
- Node.js实战项目(二)----路由优化
- nodejs+express+websocket+redis实现消息订阅系统
- 利用Travis CI 让你的github项目持续构建(Node.js为例)
- 使用Node.js + Mongodb构建基于Cloud Foundry的项目
- Node.js学习(10)----文件系统fs