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

Express+MySQL项目出现Cannot GET / 404错误的原因求助

我来帮你逐个排查问题,先解决最关键的404错误,再说说那个不影响项目运行的SourceMap警告:

核心问题:Cannot GET / (404 Not Found)

这个错误本质是你的Express应用没有为根路径/配置任何路由处理逻辑,或者路由挂载的路径和你访问的地址不匹配。我们一步步拆解:

1. 检查server.js的路由挂载逻辑

先看你的server.js里是不是只挂载了用户相关的路由(比如/api/users),但完全没处理根路径。举个例子,如果你的server.js里是这么写的:

const userRoutes = require('./routes/user.routes');
app.use('/api/users', userRoutes);

那访问localhost:8080/肯定会返回404,因为这个路径根本没有对应的处理代码。

解决办法:

  • 要么给根路径加个简单的响应,比如在server.js里补充一段:
    app.get('/', (req, res) => {
      res.send('Express服务运行正常!');
      // 也可以返回JSON格式:res.json({ msg: '欢迎访问我们的API' });
    });
    
  • 如果你本来就打算访问用户相关的API,那应该去访问正确的路径,比如localhost:8080/api/users(具体路径要看你挂载路由时设置的前缀)。

2. 确认路由文件的配置是否正确

打开你的user.routes.js,看看里面的路由是不是正确定义的。比如如果你的路由文件是这样的:

const express = require('express');
const router = express.Router();
const userController = require('../controllers/user.controller');

// 获取所有用户的路由
router.get('/', userController.getAllUsers);

module.exports = router;

这里的router.get('/')是相对于你在server.js里挂载的前缀的——如果挂载时用了/api/users,那实际访问路径是/api/users,而不是根路径/。

3. 再确认下服务是否正常启动

虽然你能看到404说明服务已经启动,但还是检查下server.js里有没有监听端口的代码:

const PORT = 8080;
app.listen(PORT, () => {
  console.log(`服务运行在 http://localhost:${PORT}`);
});

确保这段代码存在,不然服务根本无法启动。


关于第二个错误:DevTools failed to load SourceMap

这个错误和你的项目完全无关,是你Chrome浏览器里安装的某个扩展(ID为hnmpcagpplmpfojmgmnngilcnanddlhb)自身的问题——它的SourceMap文件找不到了。你可以:

  • 暂时禁用这个扩展,看看错误是不是就消失了;
  • 直接忽略它,完全不影响你的项目运行;
  • 如果这个扩展是你自己开发的,那再去修复它的SourceMap路径配置。

总的来说,你现在的核心问题就是根路径没有对应的路由处理,要么加个根路由响应,要么去访问你已经配置好的API路径就行。那个SourceMap警告不用管它~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 20:08:15