09-博客api接口项目实战之自动化导入路由

辰漪
2022-01-20 / 0 评论 / 34 阅读 / 正在检测是否收录...

使用自动化导入路由

使用自动化导入路由文件,就不需要自己一个一个导入了

更改路由文件命名格式,以api开头 或者 以 my开头,用于判断是否需要token认证

比如 router/user.js 改成 apiUser.js文件 upload.js 改成 myUpload.js

封装自动化导入函数

其实就是用到node的fs模块,使用fs.readdirSync()方法获取目录下的所有文件名称组成的数组,拼接路径,然后使用require()导入,再使用app.use()进行路由注册

// utils/createRouter.js
const fs = require('fs')

/**
* 挂载路由函数
* @param {object} app serve实例
* @param {string} path 路由文件所在目录绝对路径
* @param {string} dir 路由文件所在目录
*/
const cerateRouter = (app, path, dir) => {
  const routerDir = fs.readdirSync(dir) // 所有的路由文件名称组成的数组
  routerDir.forEach(item => {
    const url = path + '\\' + item
    const router = require(url)
    item.startsWith('api') ? app.use('/api', router) : app.use('/my', router)
  })
}
module.exports = cerateRouter

如何使用?

在app.js中 导入函数并执行

const createRouter = require('./utils/createRouter') // 挂载路由函数
// __dirname是一个node变量,表示当前执行文件所在目录
createRouter(app, __dirname + '\\router', 'router') // 调用,并传参
0
选择打赏方式:
微信

评论 (0)

取消