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

外部路由在express js中不起作用

  •  0
  • MR_HACK  · 技术社区  · 4 年前

    这是我的主菜。js文件

    import express from 'express';
    
    
    // route file are import here
    import router from "./user-route/admin-route.js";
    
    // **************** global variable are define here
    
    const app = express();
    const port = 5000;
    
    app.use(express.json());
    app.use(("./user-route/admin-route.js"));
    ///  ***************** routing are created are here
    
    app.get("/", (req, res) => {
      res.send("Hello from the server");
    });
    
    // ******************  server is created here
    
    app.listen(port, () => {
      console.log("Server is Ready and Running on Port 5000");
    });
    

    这是我的外部路由文件

    import express from 'express';
    
    const router = express.Router();
    
    
    const admin = (req, res, next) => {
        res.send("Hlo from the dashboard");
    }
    
    /// admin routers are defined here 
    
    
    router.route("/admin").get(admin);
    
    export default router;
    

    如何将外部布线与main连接。js文件。这里我使用的是模块方法。

    如果我尝试使用require方法,它就会正常工作。我不确定,但我认为问题在这里

    app.use(("./user-route/admin-route.js"));
    
    2 回复  |  直到 4 年前
        1
  •  0
  •   robertklep    4 年前

    是的,这就是问题所在:

    app.use(("./user-route/admin-route.js"));
    

    无法将文件名传递给 app.use() 并期望它能工作(事实上,它会抛出一个错误)。

    但你很接近:

    app.use(router);
    
        2
  •  0
  •   Ancesteral    4 年前

    我想你要找的是类似的东西?你真正缺少的是应用程序。使用布线部分,有两个参数。

    app.use('/admin', AdminRouter);
    

    主要的js文件

    import express from 'express';
    
    
    // route file are import here
    const AdminRouter = require('./user-route/admin-route.js')
    
    // **************** global variable are define here
    
    const app = express();
    const port = 5000;
    
    app.use(express.json());
    ///  ***************** routing are created are here
    
    app.get("/", (req, res) => {
        res.send("Hello from the server");
    });
    
    app.use('/admin', AdminRouter);
    
    
    // ******************  server is created here
    
    app.listen(port, () => {
        console.log("Server is Ready and Running on Port 5000");
    });
    

    外部路由文件

    const express = require('express');
    const router = express.Router();
    
    /// admin routers are defined here
    
    router.get('/', function(req, res, next) {
        res.send('respond with a resource');
    });
    
    module.exports = router;
    
    推荐文章