您的位置:首页 > Web前端 > Node.js

node.js项目改进之路由分发系统

2017-04-10 20:34 495 查看

路由系统改进

原来路由

app.js

app.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