nodejs(koa2) 批量注册路由(require-directory)

nodejs 通过 require-directory 批量注册路由

我这里用的是koa2

😊文件目录

|-node-koa2 //整体文件
 --care    
 	--init.js  //批量注册路由
 --router  // 路由
 	--user.js
 --app.js
 --package.json
 --yarn.locak

👌app.js

const Koa = require('koa2');
const app = new Koa();
const { Init } = require('./core/init');
const bodyParser = require('koa-bodyparser')

// 端口号
const port = 4004;

// 处理post请求的数据
app.use(bodyParser())

// 批量注册路由   (在core文件下写好后 在这里调用 并传入app 参数)
Init.init(app);

// 监听端口
app.listen(port, () => {
    console.log(`server is running at http://localhost:${port}`)
})

😜init.js

/**
 *  批量注册路由
 */
const requireDirectory = require('require-directory');
// 获取当前目录
const currentDir = process.cwd();
// router 是路由文件夹名称
const path = `${currentDir}/router`

class Init {
    static init(app) {
        requireDirectory(module, path, {
            visit: visitor,
        })
        // 这里的rot就是 router文件下导出的路由 (例如 user )
        function visitor(rot) {
            /**
             * 用中间件启动路由
             * router.routes() 启动路由
             * router.allowedMethods() 允许任何请求
             */
            app.use(rot.routes(), rot.allowedMethods());
        }
    }
}
module.exports = {
    Init
};

users.js

const Router = require('koa-router');
const user = new Router();

// 根目录 
user.prefix('/user')

user.post('/login', async ctx=>{
    const data = ctx.request.body;
    ctx.body = {
        msg: '登录成功',
        code: 200,
        success: true,
        data,
    };
})

module.exports = user;

🎉做完这些之后 在router文件夹下 写路由文件,可以直接使用了

(例如我这个:http://localhost:4004/user/login )

附: 也可以直接去我的github 上下载代码 https://github.com/start-point/react-admin-koa2

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小朋友120

谢谢你拉近我与星星的距离

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值