代码之家  ›  专栏  ›  技术社区  ›  Sankar

nodeJs+express中的路由

  •  0
  • Sankar  · 技术社区  · 7 年前

    在nodejs+express应用程序中,我们可以有不同的路由文件,并将它们包含到一个文件中。如下所示。

    在hotel.routes.js酒店我很少有像这样的路线

        const express = require("express");
        const hotelsCtrl = require("../controllers/hotels.controller");
        const router = express.Router();
    
        router
            .route("/")
            .get(hotelsCtrl.getAllHotels);
    
        module.exports = router;
    

            const express = require("express");
            const reviewsCtrl = require("../controllers/reviews.controller");
            const router = express.Router();
    
            router
                .route("/")
                .get(reviewsCtrl.getAllreviews);
    
            module.exports = router;
    

    现在我想把两者都包括进去hotel.routes.js酒店以及review.routes.js在索引文件中,当路线是“/hotel”时,它应该转到hotel.routes.js酒店当路线是“/review”时,它应该转到review.routes.js

    提前谢谢。

    1 回复  |  直到 7 年前
        1
  •  1
  •   jfriend00    7 年前

    您可以这样做:

     app.use('/hotel', require('./hotel.routes.js'));
     app.use('/review', require('./review.routes.js'));
    

    这使得 hotel.routes.js 导出路由器打开 /hotel review.routes.js 导出路由器打开 /review

    使用三个文件来设置一个 /酒店


    const hotelsController = require("../controllers/hotels.controller");
    
    app.get('/hotel', hotelsController.getAllHotels);
    

    真的没有必要分开hotel.routes.js酒店文件。


    /酒店 像这样的文件:

    const hotelsCtrl = require("../controllers/hotels.controller");
    const router = require("express").Router();
    
    router.get('/hotel', hotelsCtrl.getAllHotels);
    
    module.exports = router;
    

    index.js 这是:

    app.use(require('./hotel.routes.js'));