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

npm start启动Node应用未监听指定3003端口 访问根路径返回404错误

Node Express应用访问根路径返回404错误解决方案

该报错是Express框架的标准路由未匹配错误,由你项目中/home/dareomotosho/main/middlewares/notFound.js下的自定义404中间件抛出,触发原因是你访问的localhost:3003/根路径没有匹配到应用中注册的任何路由规则,可按以下步骤排查:

  • 检查路由注册顺序:Express按代码编写顺序从上到下匹配路由,必须保证业务路由的注册逻辑在404中间件、全局错误处理中间件之前,示例正确注册顺序如下:
// 优先注册全局通用中间件
const express = require('express')
const app = express()
app.use(express.json())

// 其次注册业务路由
// 示例:根路径GET请求处理逻辑,必须写在notFound中间件之前
app.get('/', (req, res) => {
  res.send('应用首页内容')
})
// 其他路由注册逻辑示例
// app.use('/api', userRouter)

// 最后注册404和全局错误处理中间件
const notFound = require('./middlewares/notFound')
app.use(notFound)
app.use((err, req, res, next) => {
  res.status(err.status || 500).send(err.message)
})
  • 检查路由前缀配置:如果你给所有业务路由统一配置了路径前缀,比如app.use('/api', router),那么根路径/本身就没有对应的处理逻辑,你需要访问带前缀的路径(如localhost:3003/api/xxx),或者单独补充根路径的路由处理规则。
  • 检查静态资源托管配置:如果你的应用是托管前端打包后的静态页面,需要确保已经注册了静态资源中间件,且配置在404中间件之前,示例如下:
const path = require('path')
// 托管dist目录下的前端打包文件,必须写在notFound中间件之前
app.use(express.static(path.join(__dirname, 'dist')))
  • 检查路由请求方法匹配:确认你注册的根路径路由的请求方法和你访问的方法一致,比如你只注册了app.post('/'),用浏览器GET请求访问根路径就会触发404。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 17:36:13