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

Express运行npm run dev报错Cannot GET /,HTML文件无法加载如何解决

Express启动后报Cannot GET / 问题排查方案

问题原因及对应解决方法:

  • 检查目录结构是否匹配
    你代码中通过express.static配置的静态资源目录为html文件夹,express默认会自动读取该目录下的index.html作为根路由/的返回内容。如果你的项目根目录下不存在html文件夹,或者该文件夹下没有命名为index.html的入口文件,访问根路径就会触发404错误。

  • 确认静态资源路径是否正确
    如果你当前的启动文件index.js没有放在项目根目录(比如存放在src子文件夹中),__dirname变量会指向index.js实际所在的文件夹路径,此时path.join(__dirname, 'html')指向的是index.js同级的html文件夹,而非项目根目录的html文件夹。你可以添加一行打印代码确认路径是否正确:

    console.log('静态资源实际读取路径:', path.join(__dirname, 'html'))
    

    启动服务后对比控制台打印的路径和你实际存放HTML文件的路径是否一致,不一致的话调整path.join的参数即可。

  • 显式配置根路由兜底
    如果你不想依赖express.static的默认读取规则,可以手动添加根路由的处理逻辑,在静态资源配置代码后添加如下内容:

    app.get('/', (req, res) => {
      // 括号内路径替换为你实际的HTML文件路径即可
      res.sendFile(path.join(__dirname, 'html', 'index.html'))
    })
    

    注意:如果你要访问html文件夹下的其他HTML文件,比如about.html,直接访问http://localhost:5000/about.html即可,不需要额外配置路由

  • 附带小问题修复
    你代码中控制台打印端口的语句错误使用单引号包裹模板字符串,会导致无法正确打印实际启动的端口号,改为反引号即可:

    app.listen(PORT, () => console.log(`Server started on port ${PORT}`))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:09:03