在我们公司网络中运行Flutter Web应用程序时出现问题

ipakzgxi  于 2023-05-23  发布在  Flutter
关注(0)|答案(3)|浏览(165)

我正试图在工作中的局域网(intranet)上运行我的Flutter Web应用程序。但是没有互联网接入。我有这个问题“无法加载资源:net::ERR_INTERNET_DISCONNECTED“。我想,问题出在canvaskit.js,因为我的应用程序试图从互联网下载。你知道怎么修吗?

at0kjp5o

at0kjp5o1#

这是一个常见的错误,当你在一个没有互联网接入的内联网中使用Flutter web时。我将尝试详细解释它。
在Flutter Web中,您可以在两个Web渲染器之间进行选择(更多信息here)。默认的是CanvasKit,但也有HTML渲染器。
CanvasKit Web渲染器的问题是,当您第一次启动应用程序时,它会转到unpkg.com并下载两个文件:js* 和 canvskit.wasm。下载后,浏览器会缓存它们,Flutter将来不需要再次下载它们。
但是,如果应用程序无法下载这些文件,则应用程序无法启动。这就是@TomášTorok提到的问题。
解决办法是什么?有两种可能性:
1 -强制您的应用使用HTML Web渲染器,因为它不需要通过Internet下载任何内容。这个web渲染器有一些CanvasKit没有的限制,反之亦然(在this article中,他们详细解释了一切)
要在调试中使用HTML,请执行以下操作:

flutter run -d chrome --web-renderer html

或者,如果您想构建应用程序:

flutter build web --web-renderer html

2 -从www.example.com(example link)手动下载 * canvaskit.js * 和 canvaskit.wasm 文件unpkg.com,将它们添加到您的项目中(在/web文件夹内),并强制Flutter web抓取本地文件,而不是从Internet下载任何文件。
这是一个多一点的工作,但它也不复杂。你有这个链接中的说明。

2mbi3lxu

2mbi3lxu2#

如果我理解正确;
与Flutter版本或Flutter通道无关。错误消息清楚地解释了互联网断开连接。普遍的事实是,你需要一个最低速度的互联网来调试或发布你的flutter代码开发。尝试检查互联网连接。
如果这个答案对你有帮助,请回复,并分享你是如何解决这个问题的。

vlju58qv

vlju58qv3#

问题是要优雅地显示一条没有互联网的消息-而不是在网络上有一个冻结的启动屏幕。
我明白应用程序本身需要网络来启动-然而一个人可能会在应用程序启动时失去互联网,在这些资源加载之前...

相关问题