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

Express路由404问题求助:/users/cool路径无法访问原因排查

问题原因

你的路由挂载顺序和匹配逻辑出了问题:

  • Express会按app.use的书写顺序依次处理请求。你先挂载了app.use('/users', usersRouter),它会拦截所有以/users开头的请求(包括/users/cool)。
  • usersRouter里只定义了对应/users的/路径,当请求/users/cool时,usersRouter找不到匹配的路由,会直接返回404,根本轮不到后面的app.use('/users/cool', coolRouter)执行。

修复方案

有两种可行的解决方式:

方式一:调整挂载顺序

把coolRouter的挂载代码放在usersRouter前面,让/users/cool的请求先被匹配处理:

// app.js 中修改顺序
app.use('/', indexRouter);
app.use('/users/cool', coolRouter);
app.use('/users', usersRouter);

方式二:嵌套路由(更符合层级逻辑)

直接在usersRouter内部挂载coolRouter,让路由层级更清晰:

// routes/users.js
var express = require('express');
var router = express.Router();
var coolRouter = require('./cool');

/* GET users listing. */
router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});

// 将coolRouter挂载到/users/cool路径下
router.use('/cool', coolRouter);

module.exports = router;

同时删除app.js里的app.use('/users/cool', coolRouter)这一行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 08:54:15