Как оптимизировать маршрутизатор в nodejs koa?

#javascript #node.js #koa #koa-router

#язык JavaScript #node.js #koa #koa-маршрутизатор

Вопрос:

Я использую koa для создания приложения nodejs и пытаюсь оптимизировать.

app.js

 'use strict'; const Koa = require("koa"); const app = new Koa(); const Router = require("koa-router"); const router = new Router();  const stuff = require("./router/stuff.js"); router.use("/stuff", stuff.routes()); //more routers like above const home = require("./router/home.js"); router.use(home.routes());  app.use(router.routes(), router.allowedMethods()); app.listen(port);  

В папке есть некоторые файлы маршрутизатора router , такие как stuff.js , home.js , client.js

stuff.js

 'use strict'; const router = require("koa-router")(); router  .get("/", async (ctx) =gt; {  await ctx.render("stuff", {   });  }) module.exports = router;  

home.js

 'use strict'; const router = require("koa-router")(); router  .get("/", async (ctx) =gt; {  await ctx.render("home", {   });  }) module.exports = router;  

client.js

 'use strict'; const router = require("koa-router")(); router  .get("/", async (ctx) =gt; {  await ctx.render("client", {   });  }) module.exports = router;  

Я думаю, что то, как я написал, все еще очень дилетантски, как это оптимизировать? Спасибо.

Ответ №1:

После исследования я использую следующее решение

app.js

 'use strict'; const Koa = require("koa"); const app = new Koa(); const router = require("./router"); router(app); app.listen(port);  

в папке router добавьте index.js следующий код

 'use strict'; const fs = require('fs'); module.exports = (app) =gt; {  fs.readdirSync(__dirname).forEach(file =gt; {  if (file === 'index.js') { return; }  const route = require(`./${file}`);  app.use(route.routes()).use(route.allowedMethods());  }); }  

Другие файлы маршрутизатора такие же, например home.js

 'use strict'; const router = require("koa-router")(); router  .get("/", async (ctx) =gt; {  await ctx.render("home", {   });  }) module.exports = router;