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

Node.js路由配置拆分后访问/add出现Cannot GET /add报错原因是什么

问题根因

你当前的报错是路由路径不匹配导致的,Express 路由挂载规则如下:

  • 使用 app.use(前缀路径, 路由实例) 挂载路由时,路由实例内部定义的所有路由路径都会自动拼接上挂载前缀。

你的代码路由注册逻辑:

  1. controller/board/board.js 中定义了 GET /add 路由,绑定了api.add处理逻辑
  2. 入口index.js中,你将board路由实例挂载到了/board前缀下
  3. 最终实际可访问的完整路由是 GET /board/add,你访问的/add没有匹配的注册路由,因此返回404错误。

可选解决方案

二选一即可:

  • 直接访问正确路径:访问 http://localhost:3000/board/add 即可命中你写的业务逻辑
  • 调整路由挂载前缀:如果需要直接通过/add访问,将index.js中的app.use('/board', board);修改为app.use('/', board);即可

额外注意事项

你当前api.js中渲染模板的路径是__dirname + '/views/board/add.ejs',__dirname是当前文件api.js所在的目录(即controller/board),拼接后得到的完整模板路径是controller/board/views/board/add.ejs,请确认你的ejs模板文件实际存放位置和该路径一致,否则路由匹配成功后还会抛出模板找不到的报错。

内容的提问来源于stack exchange,提问作者류진현

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:48:04