Web 常见问题

Web 版本的 Flutter 是否已经准备好投入生产环境中了呢?

从 1.12 版本开始,Flutter 的 Beta 频道已支持 Web 。

我们不建议将 Web 应用部署到生产环境中

如何创建同时在 Web 上运行的应用?

请参见 使用 Flutter 构建 Web 应用

Web 应用上能热重载吗?

不能。

我可以使用 Flutter plugin 吗?

还不能。

我该如何提交关于 Web 支持的 issue?

你可以在 Flutter 主仓库中提交一个 issue。确保标题中包含 “Web” 字样。

我该如何在浏览器中刷新正在运行的应用?

使用浏览器的刷新按钮不会起作用,但你可以在执行 “flutter run -d chrome” 的控制台中输入“R” 进行刷新。

我可以在任意 IDE 中,构建、运行并发布 web 应用吗?

Flutter 最新的 beta 频道已开启 web 支持,你可以在 Android Studio、IntelliJ 和 VS Code 中选择 Chrome 作为目标设备。要启用 web 支持,请在终端中执行以下命令:

  1. flutter config --enable-web

你仅需要执行一次。

如果 IDE 已在运行,请重新启动它。设备列表菜单现在应该包含 Chrome(web) 选项了。

我该如何构建响应式 web 应用?

请参阅创建响应式应用

我能在 web 应用中使用 dart:io 这个 package 吗?

不行。文件系统在浏览器中是无法访问的。对于网络功能来说,请使用 http package。请注意,安全方面的工作有所不同,因为浏览器(而不是应用程序)控制 HTTP 请求上的标头。

如何在 Web 用户界面中显示前进和后退按钮?

Web 应用支持浏览器的后退按钮。前进按钮尚未支持。有关更多信息,请参阅 Issue 32248

复制和粘贴功能状况如何?

在移动设备上复制和粘贴可以使用。如果你遇到了什么问题,请 提一个 issue

我该如何把一个 web 应用嵌入到一个网页中?

尚未有明确的解决方案。

实现跨域资源共享

HTTP 请求适用于移动设备,但不适用于网络。Web 应用程序有特殊的安全限制。如果你遇到问题,请检查正在访问的 Web服务器是否设置了接受来自托管 Flutter 应用程序的域的请求的 CORS 标头。

我该如何使用 CORS 避免 JS 锁定?

尚未有明确的解决方案。

我该如何调试一个 web 应用?

使用 Flutter DevTools 来尝试如下工作:

使用 Chrome DevTools 来尝试如下工作:

我该如何测试 Web 应用?

跟常规的 widget tests 通用。

自动化测试尚不支持。

我该如何国际化 Web 应用?

暂未完成

我该如何部署 Web 应用?

请参阅 打包并发布到 Web 平台

Platform.is API 现在可用吗?

目前还不行。

如何跟其他使用者交流?

请在 Discord 平台的 #web 这个讨论板跟大家讨论,Flutter 团队的工程师会经常阅读和互动。