首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在nodejs koa中优化路由器?

如何在nodejs koa中优化路由器?
EN

Stack Overflow用户
提问于 2021-11-30 11:48:44
回答 1查看 29关注 0票数 2

我使用koa创建nodejs应用程序,并尝试进行优化。

app.js

代码语言:javascript
复制
'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.jshome.jsclient.js

stuff.js

代码语言:javascript
复制
'use strict';
const router = require("koa-router")();
router
    .get("/", async (ctx) => {
        await ctx.render("stuff", {

        });
    })
module.exports = router;

home.js

代码语言:javascript
复制
'use strict';
const router = require("koa-router")();
router
    .get("/", async (ctx) => {
        await ctx.render("home", {

        });
    })
module.exports = router;

client.js

代码语言:javascript
复制
'use strict';
const router = require("koa-router")();
router
    .get("/", async (ctx) => {
        await ctx.render("client", {

        });
    })
module.exports = router;

我觉得我的写作方式还是很业余的,怎么优化呢?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-12-05 01:29:26

经过研究,我使用了以下解决方案

app.js

代码语言:javascript
复制
'use strict';
const Koa = require("koa");
const app = new Koa();
const router = require("./router");
router(app);
app.listen(port);

在文件夹router中,使用以下代码添加index.js

代码语言:javascript
复制
'use strict';
const fs = require('fs');
module.exports = (app) => {
  fs.readdirSync(__dirname).forEach(file => {
    if (file === 'index.js') { return; }
    const route = require(`./${file}`);
    app.use(route.routes()).use(route.allowedMethods());
  });
}

其他路由器文件是相同的,例如home.js

代码语言:javascript
复制
'use strict';
const router = require("koa-router")();
router
    .get("/", async (ctx) => {
        await ctx.render("home", {

        });
    })
module.exports = router;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70168882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档