javascript - 在我们公司网络中运行 Flutter Web 应用程序出现问题
问题描述
我正在尝试在工作中在局域网(内联网)上运行我的 Flutter Web 应用程序。但是没有互联网接入。我有这个问题“无法加载资源:net :: ERR_INTERNET_DISCONNECTED”。我认为,问题在于 canvaskit.js,因为我的应用程序尝试从互联网下载。你知道如何解决它吗?
解决方案
当您在无法访问 Internet 的 Intranet 中使用 Flutter Web 时,这是一个常见的错误。我将尝试详细解释它。
在 Flutter Web 中,您可以在两个 Web 渲染器之间进行选择(更多信息请点击此处)。默认的是 CanvasKit,但也有 HTML 渲染器。
CanvasKit Web 渲染器的问题在于,当您第一次启动应用程序时,它会转到 unpkg.com 并下载两个文件:canvaskit.js和canvskit.wasm。下载后,浏览器会缓存它们,Flutter 以后不需要再次下载它们。
但是,如果应用程序无法下载这些文件,应用程序将无法启动。这是@TomášTorok 提到的问题。
有哪些解决方案?有两种可能:
1 - 强制您的应用使用 HTML Web 渲染器,因为它不需要通过 Internet 下载任何内容。这个网络渲染器有一些 CanvasKit 没有的限制,反之亦然(在本文中,他们详细解释了一切)
要在调试中使用 HTML:
flutter run -d chrome --web-renderer html
或者,如果您想构建您的应用程序:
flutter build web --web-renderer html
2 - 从 unpkg.com 手动下载canvaskit.js和canvaskit.wasm文件(示例链接),将它们添加到您的项目中(在 /web 文件夹中),并强制 Flutter web 抓取本地文件而不是从 Internet 下载任何内容.
这需要更多的工作,但也并不复杂。您有此链接中的说明。
推荐阅读
- javascript - 将标题复制到剪贴板 HTML/JS
- php - Laravel 错误:方法 Illuminate\Database\Query\Builder::show 不存在
- arrays - 如何检查数组是否包含某个值?
- python - 'DataFrame' 对象没有属性 'copy'
- jquery - 使用 Jquery 在画布中绘图时锐利的边缘
- c++ - 当字节在文件的偏移量 0 处写入时,是否可以保持写入时间稳定?
- c# - 将字节数组从 JavaScript 返回到 Emscripten/Unity Web Assembly
- python-3.x - 做一个简单的类支持并发
- c# - TextBlock 的 ItemSource/DataSource
- .net - MVC 和 WebApi 控制器具有不同的解析行为