我对koajs上的路由器感到困惑,例如有两个文件,一个是主文件app.js
,类似下面的代码
//some codes
const home = require("./router/home.js");
router.use("/", home.routes());
另一个是路由器文件home.js
,其代码如下所示
router
.get("/:rel", async (ctx) => {
console.log("run sub");
})
.get("/", async (ctx) => {
console.log("run root");
})
module.exports = router;
我认为http://localhost:3000/
可以返回控制台日志run root
,这是正确的,而http://localhost:3000/dlkjf
可以返回run sub
,但是不是,如果我更新,则没有返回结果home.js
至
router
.get("/:rel", async (ctx) => {
console.log("run sub");
})
module.exports = router;
仍然一无所获,有什么想法吗?谢谢。
答案 0 :(得分:1)
关于module.exports
属性,您可以在home.js
的末尾设置其值:
module.exports = router;
您应该像这样通过路由器:
module.exports = {router};
或在app.js
使用它,如下所示:
const routes = require("./router/home.js");
router.use("/", routes());