You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express.js路由相关404错误排查:无法访问登录页面

Express登录页面404错误排查

核心错误点分析

  1. 链接路径后缀错误
    index视图中的登录链接写为 /login.html,但你的Express路由配置的是无后缀的 /login 路径,浏览器请求 /login.html 时找不到对应路由处理,直接触发404。

  2. 路由前缀重复定义
    登录路由文件中定义了 router.get('/login', ...),同时app.js里设置了 app.use('/login', loginRouter),这会让实际生效的路由路径变为 /login/login,而你访问的 /login 没有对应处理逻辑,同样导致404。

修复方案

  • 修正链接路径
    修改index.pug中的登录链接,移除.html后缀:
extends layout

block content
  h1= title
  p Welcome to #{title}
  a(href="/login") Login
  • 调整路由定义
    修改登录路由文件,将路由路径改为根路径,配合app.js中的前缀使用:
var express = require('express');
var router = express.Router();

// 移除前面的/login,依赖app.js中设置的/login前缀
router.get('/', function(req, res, next) {
  res.render('login');
});

module.exports = router;

额外优化建议

登录表单的action属性建议明确指定为 /login(对应后续需添加的POST路由),同时为输入框添加name属性方便后端接收参数:

extends layout 

block content 
    form(action="/login" method="post")
        input(type="text" name="username")  
        input(type="password" name="password")
        input(type="submit", value="Login")

内容的提问来源于stack exchange,提问作者Alexiy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 15:30:54