执行flutter build web未生成flutter_bootstrap.js致部署失败
Flutter Web构建时flutter_bootstrap.js缺失问题解决
先看实际操作里的问题:
执行以下命令构建Flutter Web应用:
cd my_app flutter create . flutter build web ls -l build/web
构建完成后,build/web目录下的文件列表里没有flutter_bootstrap.js,但检查index.html时,发现里面依然引用了这个不存在的文件:
grep boot build/web/index.html <script src="flutter_bootstrap.js" async></script>
这直接导致部署失败,而且这个文件的生成还不稳定,有时候能生成,有时候又没有。
结合相关问题《flutter build web 无法生成新构建?》,整理几个可行的解决办法:
- 先清缓存再重构:执行
flutter clean清空所有旧的构建缓存和产物,之后重新运行flutter build web。很多时候这种不稳定的文件缺失问题,都是旧缓存干扰导致的。 - 升级/降级Flutter版本:部分Flutter版本存在Web构建的兼容性bug,试试升级到最新稳定版(运行
flutter upgrade),或者回退到之前能正常生成文件的版本。 - 手动修改index.html引用:如果确认当前Flutter版本不需要依赖flutter_bootstrap.js,可以直接编辑
build/web/index.html,把引用该文件的脚本标签替换成引用flutter.js,修改后如下:<script src="flutter.js" async></script> - 检查源码目录的index.html:去项目根目录的
web/index.html(不是build目录里的)看看,是不是手动加了flutter_bootstrap.js的引用,源码里的配置会被同步到构建后的文件中,如果有多余的引用可以删掉。
内容的提问来源于stack exchange,提问作者user48956
相关产品推荐
相关产品推荐

