【问题标题】:"$ flutter build web" is throwing the error "Missing index.html"?“$ flutter build web”抛出错误“Missing index.html”?
【发布时间】:2020-09-30 15:16:52
【问题描述】:

当我跑步时:

$ flutter build web 

我收到了错误

Missing index.html.

flutter 应用程序正在浏览器中显示,但在 VS Code 中显示为“无设备”。如何调试或修复此问题?

【问题讨论】:

标签: flutter dart flutter-web


【解决方案1】:

看看你的颤振医生的输出会有所帮助,但我猜你的项目没有为网络配置。

如果你还没有,你需要像这样切换到 Flutter beta 频道:

$ flutter channel beta
$ flutter upgrade
$ flutter config --enable-web

此时,运行 flutter doctor 应该会显示 chrome 可用。

然后,切换到你的应用程序根目录,然后运行

$ flutter create .

这将重建项目以支持 web。

然后,在同一目录下,您可以运行flutter build web

【讨论】:

  • 这成功了!谢谢亚历克斯。我不认为我理解“beta”和“master”之间的区别。但现在我明白了。
【解决方案2】:

我遇到了这个问题。我可以在调试模式下运行网络应用程序,但我无法创建网络应用程序。

在终端运行这一行来解决问题:

 flutter create .

这会将网络应用添加到您的项目中。

【讨论】:

    【解决方案3】:

    如果您在切换到 Flutter 频道测试版之前已经创建了 Flutter 项目,则会发生这种情况。

    通过使用flutter channel beta创建一个新的flutter项目,你将拥有一个web文件夹。

    您可以在上图中看到,左边的 Flutter_Web 是使用stable 频道创建的。

    另一方面,Web2 只是使用beta 频道创建的。

    所以对于你的情况,我建议以下步骤:

    • 切换到 Flutter Beta 频道 here for details

    • 使用以下方法创建新的 Flutter 项目:

    flutter create
    
    • 尝试运行
    flutter run -d chrome
    
    • 将您之前的项目库文件夹替换为这个新的web project

    【讨论】:

    • 谢谢!是的,所以“master”没有网络构建选项就是你的意思?
    • 肯定有,但是google自己建议我们有更稳定的版本,如果是Web,它将是beta通道。我在某处读过,master 用于开发,alpha 用于近距离第三方审查/内部客户审查,而 beta 用于公开审查。最后,在各方满意后,整合到稳定中
    【解决方案4】:

    我必须在我的应用程序的根目录下创建一个web/index.html 目录。 运行flutter build web 后,构建文件夹中填充了已编译的 Web 文件。

    以下是我的 Flutter 配置。顺便说一句,我正在使用颤振版本管理器

    mobile_web_sample % fvm flutter --version
    Flutter 2.1.0-13.0.pre.439 • channel master • https://github.com/flutter/flutter.git
    Framework • revision d226d43912 (7 hours ago) • 2021-04-03 02:54:02 -0400
    Engine • revision a0b52ae6bf
    Tools • Dart 2.13.0 (build 2.13.0-194.0.dev)
    

    【讨论】:

      猜你喜欢
      • 2021-05-28
      • 2021-09-15
      • 2021-08-27
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      • 2020-07-17
      相关资源
      最近更新 更多