我使用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) => {
await ctx.render("stuff", {
});
})
module.exports = router;home.js
'use strict';
const router = require("koa-router")();
router
.get("/", async (ctx) => {
await ctx.render("home", {
});
})
module.exports = router;client.js
'use strict';
const router = require("koa-router")();
router
.get("/", async (ctx) => {
await ctx.render("client", {
});
})
module.exports = router;我觉得我的写作方式还是很业余的,怎么优化呢?谢谢。
发布于 2021-12-05 01:29:26
经过研究,我使用了以下解决方案
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) => {
fs.readdirSync(__dirname).forEach(file => {
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) => {
await ctx.render("home", {
});
})
module.exports = router;https://stackoverflow.com/questions/70168882
复制相似问题