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

Express中router.route()失效,访问路由返回Cannot GET /test如何解决?

问题根因

你创建了express.Router实例并配置了路由规则,但没有将该router挂载到主应用实例app上,Express无法识别router中定义的路由,因此返回Cannot GET /test错误。

修复方案

在router.route定义完成后、app.listen之前,添加一行代码将router挂载到app上:

// 第一个参数为路由前缀,传'/'代表router下的路由直接挂载在根路径下
app.use('/', router)

修复后完整可运行代码

const express = require('express');
const app = express();
const router = express.Router();

router.route('/test').get(function (req, res) {
    res.send('You have reached localhost:9000/test');
});

// 挂载router到主应用
app.use('/', router);

app.listen(9000, () => {
    console.log('Running on port 9000');
});

补充说明

  • 如果你挂载router时指定了自定义前缀,例如app.use('/api', router),则对应的访问地址需要修改为localhost:9000/api/test
  • 路由处理函数中res.send执行后如果没有后续中间件需要触发,不需要额外调用next(),避免产生不必要的逻辑冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:57:03