路由器文件无法在koajs,nodejs

时间:2019-07-14 03:24:23

标签: node.js koa

我对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;

仍然一无所获,有什么想法吗?谢谢。

1 个答案:

答案 0 :(得分:1)

关于module.exports属性,您可以在home.js的末尾设置其值:

module.exports = router;

您应该像这样通过路由器:

module.exports = {router};

或在app.js使用它,如下所示:

const routes = require("./router/home.js");
router.use("/", routes());