28 lines
682 B
JavaScript
28 lines
682 B
JavaScript
/**
|
|
* 加载中间件
|
|
* 加载app/middleware文件夹下的中间件
|
|
*/
|
|
|
|
const config = require("./config")
|
|
module.exports = async (app) => {
|
|
let list = await app.load(config.path)
|
|
let list2 = await app.load(config.app_path)
|
|
list=[...list,...list2]
|
|
// Object.assign(list, list2)
|
|
list = app.xe.orderBy(list, "res.sort")
|
|
list = list.filter(item => item.res.use)
|
|
list.forEach(async item => {
|
|
console.log('加载的中间件:',item.parse.dir);
|
|
if (item.res.loadFun) {
|
|
//如果中间件定义了特殊加载方法
|
|
await item.res.loadFun(app, item.res.fun)
|
|
} else {
|
|
app.use(async (ctx, next) => {
|
|
|
|
return await item.res.fun(ctx, next, app)
|
|
})
|
|
}
|
|
|
|
})
|
|
}
|