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

无法获取“/”express以外的路线

  •  0
  • mariolototo  · 技术社区  · 2 年前

    我正在尝试用MVC模式创建一个web应用程序,并在节点中使用express。js。这是我的项目结构: project structure image

    应用程序。js:

    let express = require("express");
    let hbs = require("hbs");
    let app = express();
    
    let indexController = require("./controllers/indexController");
    let loginController = require("./controllers/loginController");
    
    app.set("view engine", "hbs");
    
    app.use('/login', loginController);
    app.use('/', indexController);
    
    app.listen(3000);
    

    登录控制器。js:

    let express = require("express");
    let router = express.Router();
    
    router.get('/login', (req, res) => {
        res.render("login");
    });
    
    module.exports = router;
    

    问题是,我可以访问索引页(“/”),但不能访问登录页(“/login”),即使两者的代码几乎相同。

    这是indexController的代码。js:

    let express = require("express");
    let router = express.Router();
    
    router.get('/', (req, res) => {
        res.render("index");
    });
    
    module.exports = router;
    

    我真的不知道发生了什么,我对express和MVC有点陌生,在网上找不到任何东西,请帮助:)

    1 回复  |  直到 2 年前
        1
  •  0
  •   codemode    2 年前

    你有两次“登录”。第一个就够了 app.use('/login', loginController); 在里面,你可以移除另一个

    router.get('/', (req, res) => {
        res.render("login");
    });