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

运行Express项目时浏览器提示Cannot GET /index.html如何解决?

问题原因

你代码中配置的静态资源服务目录为public文件夹:

app.use(express.static('public'));

但从你给出的项目目录结构来看,index.html、signup_success.html、style.css这些静态资源都直接放在app根目录下,不存在于public文件夹中,Express无法在指定的静态资源目录下找到对应文件,因此返回404错误Cannot GET /index.html。

解决方案

有两种可落地的方案,按需选择即可:

方案1:调整静态资源目录配置(快速生效)

把静态资源服务的目录修改为app.js所在的当前目录,替换原有express.static配置:

// 把原来的 app.use(express.static('public')); 替换为下面这行
app.use(express.static(__dirname));

修改后重启服务即可正常访问。

方案2:调整目录结构(更符合Express项目规范)

Express官方推荐静态资源统一放在public目录下,和业务逻辑代码做隔离,操作步骤如下:

  • 在app根目录下新建public文件夹
  • 把index.html、signup_success.html、style.css三个文件移动到public文件夹中
  • 不需要修改原有代码,直接重启服务即可生效
额外优化建议

为了避免相对路径跳转异常,可以把两处redirect的路径改为绝对路径,更稳妥:

// 原 return res.redirect('signup_success.html'); 改为
return res.redirect('/signup_success.html');

// 原 return res.redirect('index.html'); 改为
return res.redirect('/index.html');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:06:08