在使用node + express进行后台开发时,对路由进行配置时,往往需要现在routes文件夹下创建对应的路由,然后在app.js里逐个的require进来,然后使用 app.use('/path', route)逐个配置,当网站比较简单路由文件较少是还好,但是在路由文件逐渐增加的时候就显得代码有点冗杂且笨。对于配置路由这种机械化的工作当然是交给代码来实现比较好,如下代码,我提供了一个可以帮我们自动配置路由的方法。
首先是 untils/getRouters.js
const fs = require('fs'); var exp = {}; let files = fs.readdirSync(__dirname+'/../routes'); let reg = /([\S]+)\.js$/i; files.forEach(function(val){ let matchs = reg.exec(val); if(matchs && matchs.index >= 0){ exp[matchs[1]] = require('../routes/'+ val); } }); module.exports = exp;
代码大致效果就是读取routes下的路由文件,然后逐个require进来,用路由文件名做key值放进exports对象里。
然后是app.js//配置路由
!function(){ var routes = require('./untils/getRouters'); var keys = Object.keys(routes); keys.forEach(function(k){ let cPath = ''; if(!!routes[k].cPath){ cPath = routes[k].cPath; //cPath为路由对应的路径,在路由文件里配置,默认为路由文件名 }else{ cPath = k; } app.use('/'+cPath,routes[k]); }); }();
在app.js里require getRouters.js模块,获得路由对象,然后逐个添加到app里。
热门文章
- mongodb开发—GridFS文件存储
- 动物医院的标志是什么图案的(动物医院的logo)
- 「4月6日」最高速度22.7M/S,2025年Clash/Shadowrocket/SSR/V2ray每天更新免费机场订阅链接
- IDEA配置Maven详细版教程
- 宠物狗领养免费政策(宠物犬免费领养)
- 中国最大的宠物粮生产厂家排名第一(中国宠物粮生产企业)
- 如何从HTML表单获取键/值数据集?
- 「3月24日」最高速度21.7M/S,2025年SSR/V2ray/Clash/Shadowrocket每天更新免费机场订阅链接
- Kafka的零拷贝原理解析
- JAVA 实现websocket作为客户端(自动断线重连)