【问题标题】:Release bundle is not setting up properly assets folder in flutter web发布包未在 flutter web 中正确设置资产文件夹
【发布时间】:2022-11-29 05:53:03
【问题描述】:

我创建了一个使用一些图像资源的 flutter web 应用程序。我已将这些图像设置在名为 assets 的文件夹内的根级项目中,因此:

当我运行命令 flutter web build --release 时,我得到了一个包含我的图像的包,位于下一个方向:

问题是应用程序部署后无法识别我的图像。为了使我的 Web 应用程序正常工作,我必须手动将所有文件重新定位为我最初设置它们的方式,如第一张图片所示。

自从我升级到 flutter 3.0.0 后,我注意到这种情况开始发生。

有谁知道如何解决它或为什么会发生?非常烦人,并且当您想要进行新部署时,这样做总是会出错。在此先感谢您的帮助!

这是我在 pubspec.yaml 文件中声明我的资产的方式:

flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  assets:
    - assets/images/
    - assets/svg/
    - assets/svg/menu/

【问题讨论】:

  • 嗨,埃斯特万!能否请您分享您的pubspec.yaml文件,特别是您在flutter下的资产申报?
  • @sunderee 当然,我已经在帖子末尾添加了您提到的部分!

标签: flutter flutter-web


【解决方案1】:

我面临同样的问题,我确实尝试了以下操作:

第一次尝试(工作) - 删除资产文件夹

  1. 将所有资产(在我的例子中是子文件夹)移动到项目的根目录
  2. 更改pubspec.yml 文件中的路径以反映更改
  3. 扑干净
  4. 颤动构建网络
  5. firebase 部署

    现在它按预期工作并且图像已正确加载(不要忘记使用 ctrl+F5 强制重新加载缓存)

    第二次尝试(无效) - 重命名项目“资产”文件夹

    1. 将“assets”文件夹重命名为“resources”(当然问题出在名称“资产”上,其他人也应该有效)
    2. 扑干净
    3. 颤动构建网络
    4. firebase 部署

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 2019-05-31
    • 2021-08-26
    相关资源
    最近更新 更多