首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能在没有互联网连接的情况下运行网页应用程序?

我怎样才能在没有互联网连接的情况下运行网页应用程序?
EN

Stack Overflow用户
提问于 2022-07-25 13:17:56
回答 3查看 554关注 0票数 0

我创建了一个颤振web应用程序,并使用命令完成了它的构建。flutter build web --release,然后将其传输到本地服务器,除非它连接到因特网,否则该站点无法工作,

我希望网站在没有互联网连接的情况下工作,因为我在一个组织工作,有些用户没有互联网权限。

拜托,我想要一个解决这个问题的办法。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2022-08-01 13:11:19

问题是,flutter有一些依赖项,当您作为客户端脱机时,这些依赖关系无法得到解决。主要由canvaskit和某些谷歌字体组成。

对此有多种解决方案。最简单的方法是使用html web呈现器:

代码语言:javascript
复制
flutter build web --release --web-renderer html

这应该适用于大多数应用程序,但是它的性能低于canvaskit,特别是在小部件密度很高的情况下。

因此,您也可以在本地使用canvaskit,因为它是在构建发行版时自动生成的。但是,必须将其设置为基url,方法是在index.html中添加以下行:

代码语言:javascript
复制
<script>
  window.flutterConfiguration = {
      canvasKitBaseUrl: "/canvaskit/"
  };
</script>

这确保您的颤振应用程序使用canvaskit的本地源。然而,另一个问题可能是谷歌字体的使用,例如Roboto,因为这些字体也需要下载。但是您可以将这些显式地添加到pubspec.yaml中来解释这一点,就像解释的这里一样。

获得更多信息的一些来源:

颤振式网页渲染器

同样的问题但在github上

使颤振离线

票数 2
EN

Stack Overflow用户

发布于 2022-09-30 11:55:15

  1. 从web应用程序的资产策略下载并在本地设置
  2. 添加到本地Canvaskit的链接如下:

颤振构建网页-- web渲染器=canvaskit --dart-define=FLUTTER_WEB_CANVASKIT_URL=/canvaskit/

票数 0
EN

Stack Overflow用户

发布于 2022-11-29 04:52:47

为了使它适用于dev构建,我在下面的步骤中结合了Spanching上面的答案。

  1. 运行:flutter clean来清理所有构建缓存(这对于在下面的步骤4中重新下载画布工具包是很重要的)。
  2. 运行:flutter pub get下载每个pubspec.yaml包
  3. 如果您使用的是构建运行程序:dart run build_runner build --delete-conflicting-outputs

在这个阶段,您应该有一个干净的/build文件夹(我也有一个ios子文件夹,因为我也在为iOS开发)

  1. 运行:flutter build web

在这个阶段,您应该添加一个干净的/build/web,并在其下面添加一个canvaskit文件夹。全路径:/build/web/canvaskit/

然后:

  1. /web下打开/web(注意事项--不要打开/build/web下的)
  2. 将应答上图中提到的脚本添加到html文件的正文中。我只是在已经存在的现有脚本之上添加了它。
  3. 以deubg模式运行项目(关闭Wifi )。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73109896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档