Flutter项目中的多个资产

RBa*_*iak 2 flutter

根据将图像资产包含在Flutter项目中的文档,我需要将它们添加到pubspec.yaml如下所示:

flutter:
  assets:
   - assets/my_icon.png
   - assets/background.png
Run Code Online (Sandbox Code Playgroud)

但是我需要在应用程序中包含约900张图像,我真的需要手动在文件中一个接一个地添加图像吗?

erl*_*man 15

遗憾的是,您无法一次导入整个 assets/ 文件夹,但现在可以导入文件夹中的所有资产。

# ? Don't Import every files inside assets folder, its tiring ?             
assets:
  - assets/audio/celebrate.mp3
  - assets/audio/splash.mp3
  - assets/lottie/paper_plane.json
  - assets/lottie/celebration.json
  - assets/images/png/stats.png
  - assets/images/alert.svg

# ? Import all assets at once, Not allowed ?
assets:
  - assets/        

# ? Just import every folders inside assets ?
assets:
  - assets/lottie/
  - assets/images/svg/
  - assets/images/png/
  - assets/audio/
Run Code Online (Sandbox Code Playgroud)


Gün*_*uer 7

是的,目前这是必需的并且是已知的限制。

pubspec.yaml 中的通配符资产(或允许包含整个目录)#4890

您可以使用代码生成来一次性列出所有资产,但当列表变得太长时,您也会遇到麻烦。


Jam*_*ins 5

这不再是限制。现在,您可以将所有资产包括在目录中。

要将所有资产包括在目录下,请在目录名末尾加/字符:

flutter:    
  assets:
    - assets/
Run Code Online (Sandbox Code Playgroud)

看到关于扑扑文档

  • 但是,这(截至撰写本文时)不适用于仍然必须在此处定义的 .yaml 文件中明确包含/导入的子目录/文件夹:https://github.com/flutter/flutter/问题/27801 和这里:https://github.com/onmyway133/notes/issues/513 (3认同)
  • 目前不支持递归文件夹:( 非常悲伤 (2认同)