自动化加载Express的路由设置

本文介绍了如何在Node.js和Express应用中自动化加载路由,避免手动配置每个路由的繁琐过程。通过编写一个util脚本`getRouters.js`,读取`routes`目录下的路由文件并动态require,将路由文件名作为key存入exports对象。在`app.js`中引入这个脚本,遍历获取的路由对象并添加到Express应用中,实现路由配置的自动化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用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里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值