const fs = require('fs'); const path = require('path'); const Bean = require('../utils/index.js'); // 控制器收集规则 const routes = fs.readdirSync(path.resolve(__dirname)); const controler = {}; routes.forEach(route => { if (fs.statSync(path.resolve(__dirname, route)).isDirectory()) { const deep = Bean.readFileDeep(path.resolve(__dirname, route)).file; controler[route] = {}; deep.forEach(file => { Object.keys(require(file)).forEach(key => { if (Object.keys(controler[route]).includes(key)) { let str = "注意有相同的控制器:{" + route + ':' + key + '}'; throw str } }) controler[route] = { ...controler[route], ...require(file) } }) } if (fs.statSync(path.resolve(__dirname, route)).isFile()) { if (route !== 'index.js') { controler[route.slice(0, -3)] = require(path.resolve(__dirname, route)); } } }) module.exports = controler