anchundan
Version:
31 lines (29 loc) • 990 B
JavaScript
const path = require('path');
const fs = require('fs');
const ARouter = require('./ARouter');
const publiccom = require('anchundan/src/core/publiccom');
const FrameworkType = require('anchundan/src/core/baseStruct/FrameworkType');
module.exports = (application)=>{
let router = new ARouter(application);
let extensionRouter = publiccom.getTarget('types')[FrameworkType.ROUTER];
if(!extensionRouter)
{
extensionRouter = [path.join(process.getRoot(),'routers')];
}
else{
extensionRouter = extensionRouter.concat(path.join(process.getRoot(),'routers'))
}
extensionRouter.forEach( routerPath => {
let r = path.join(routerPath,'index.js');
if(fs.existsSync(r)){
try{
const routerDecorator = require(r);
routerDecorator.call(null,router,application);
}
catch(e){
throw e;
}
}
})
return router.router;
};