apache 我如何在没有互联网连接的情况下运行flutter Web应用程序

wnavrhmk  于 2022-11-16  发布在  Apache
关注(0)|答案(2)|浏览(205)

我创建了一个flutter web应用程序,并使用.. flutter build web --release命令完成了构建,然后将其传输到本地服务器。除非连接到Internet,否则该站点无法工作。
我希望该网站在没有互联网连接的情况下工作,因为我在一个组织中工作,一些用户没有互联网权限。
求你了,我想要一个解决这个问题的办法。
"谢谢"

uidvcgyl

uidvcgyl1#

问题是,flutter有一些依赖项,当你作为客户端离线时无法解决。主要由canvaskit和某些google字体组成。
对此有多种解决方案。最简单的是使用html web渲染器:

flutter build web --release --web-renderer html

对于大多数应用程序,这应该是可行的,但是它的性能比canvaskit低,尤其是对于高部件密度。
因此,你也可以在本地使用canvaskit,因为它是在你构建发布版本时自动构建的。但是你必须通过在index.html中添加以下行来将它设置为基本url:

<script>
  window.flutterConfiguration = {
      canvasKitBaseUrl: "/canvaskit/"
  };
</script>

这样可以确保flutter应用程序使用本地源代码canvaskit。然而,另一个问题可能是google字体的使用,例如Roboto,因为这些字体通常也需要下载。但是你可以直接将这些字体显式地添加到pubspec.yaml中,就像here解释的那样。
更多信息的来源:
flutter web-renderers
The same issue but on github
Making Flutter offline capable

zzwlnbp8

zzwlnbp82#

1.从Web应用程序的资产策略下载并在本地设置
1.添加链接到本地Canvaskit如下:
创建网页--网页渲染器=canvaskit --dart-define =抖动_WEB_CANVASKIT_URL=/canvaskit/

相关问题