404 无法加载资源将 Flutter Web 应用程序部署到 GitHub 页面

404 Failed to load resource Deploying Flutter Web App to GitHub Pages

我正在尝试将我的 Flutter 应用程序部署到 GitHub 页面。应用程序在 flutter run -d chrome 下运行良好,并在 flutter build web --release

下成功构建

我将代码推送到我的存储库: https://github.com/learyjk/superpacecalcweb

部署Activity日志显示部署成功。但是当我单击“查看部署”按钮时,我只会看到一个空白页面。 Javascript 控制台说:

无法加载资源:服务器响应状态为 404 () https://learyjk.github.io/main.dart.js

我也尝试将 /index.html 附加到 URL 的末尾,但没有成功。

有什么想法吗?错误输出不是很详细,所以我不太知道从哪里开始...

GitHub 页 link: https://learyjk.github.io/superpacecalcweb/

谢谢!

您的 index.html 中有 <base href=''/> 个标签。将其更改为 github 存储库的基本路径。在这种情况下,这将是 <base href="/superpacecalcweb/"/>。如果您没有,可以将其添加到 <head> 标签内。

基本上问题是 flutter 尝试定位 main.dart.js 文件而不考虑部署的基本路径,因为您没有为 base 标记配置正确的路径。这是部署 flutter web 应用程序或任何 web 应用程序时的常见问题,如果托管服务提供商向主域添加了额外的路径。

您可以通过以下link看到main.dart.js可用。 https://learyjk.github.io/superpacecalcweb/main.dart.js

Please do note that while testing locally you will still have to set it back to href="/". Otherwise the local deployment won't work. There is an open issue to make this configurable.

如何自动化建议的解决方案

构建项目时使用:
flutter build web --release --base-href="/yourGithubRepoName/"
它将为您完成所有必需的替换。

在这种情况下,命令为:
flutter build web --release --base-href="/superpacecalcweb/"