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/"
我正在尝试将我的 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/"