我创建了一个颤振web应用程序,并使用命令完成了它的构建。flutter build web --release,然后将其传输到本地服务器,除非它连接到因特网,否则该站点无法工作,
我希望网站在没有互联网连接的情况下工作,因为我在一个组织工作,有些用户没有互联网权限。
拜托,我想要一个解决这个问题的办法。
谢谢
发布于 2022-08-01 13:11:19
问题是,flutter有一些依赖项,当您作为客户端脱机时,这些依赖关系无法得到解决。主要由canvaskit和某些谷歌字体组成。
对此有多种解决方案。最简单的方法是使用html web呈现器:
flutter build web --release --web-renderer html这应该适用于大多数应用程序,但是它的性能低于canvaskit,特别是在小部件密度很高的情况下。
因此,您也可以在本地使用canvaskit,因为它是在构建发行版时自动生成的。但是,必须将其设置为基url,方法是在index.html中添加以下行:
<script>
window.flutterConfiguration = {
canvasKitBaseUrl: "/canvaskit/"
};
</script>这确保您的颤振应用程序使用canvaskit的本地源。然而,另一个问题可能是谷歌字体的使用,例如Roboto,因为这些字体也需要下载。但是您可以将这些显式地添加到pubspec.yaml中来解释这一点,就像解释的这里一样。
获得更多信息的一些来源:
发布于 2022-09-30 11:55:15
颤振构建网页-- web渲染器=canvaskit --dart-define=FLUTTER_WEB_CANVASKIT_URL=/canvaskit/
发布于 2022-11-29 04:52:47
为了使它适用于dev构建,我在下面的步骤中结合了Spanching上面的答案。
flutter clean来清理所有构建缓存(这对于在下面的步骤4中重新下载画布工具包是很重要的)。flutter pub get下载每个pubspec.yaml包dart run build_runner build --delete-conflicting-outputs在这个阶段,您应该有一个干净的/build文件夹(我也有一个ios子文件夹,因为我也在为iOS开发)
flutter build web在这个阶段,您应该添加一个干净的/build/web,并在其下面添加一个canvaskit文件夹。全路径:/build/web/canvaskit/
然后:
/web下打开/web(注意事项--不要打开/build/web下的)https://stackoverflow.com/questions/73109896
复制相似问题