Express.js项目路由无法触发,本地访问出现404错误
Express项目路由404问题排查与修复
问题核心原因
你的代码中路由挂载路径缺少开头的斜杠,导致Express无法正确匹配请求URL。
在server.js里,路由挂载的代码是:
app.use("api/v1/restaurants", restaurants);
Express要求app.use()的路径参数必须以/开头,否则会被当作相对路径处理,无法匹配你期望的/api/v1/restaurants路径,最终触发通配符的404路由。
修复步骤
修改server.js中的路由挂载代码,给路径添加开头的斜杠:
import express from "express"; import cors from "cors"; import restaurants from "./api/restaurants.route.js"; // initialising express app const app = express(); // applying middlewears app.use(cors()); app.use(express.json()); // 添加开头的斜杠修正路径 app.use("/api/v1/restaurants", restaurants); app.use("*", (req, res) => res.status(404).json({error: "not found"})); export default app;
验证
启动服务后,访问http://localhost:你的服务端口/api/v1/restaurants,就能正常收到"Hello World"的响应。
额外检查点
- 确认服务启动的端口与请求URL的端口一致
- 检查
./api/restaurants.route.js的文件路径是否正确,确保路由文件被正确导入
内容的提问来源于stack exchange,提问作者Shantanu Singh
相关产品推荐
相关产品推荐

