如何在Flutter中显示本地包的资源

问题描述 投票:0回答:1

我有一个父项目和一个本地子项目,已像这样添加到父项目中

- parent
  - packages/subproject

这个子项目里面有一些像这样添加的资产

- packages/subproject/lib/assets/icons

这是子项目 pubspec.yaml

assets:
  - packages/messaging_core/assets/icons/

我也这样称呼图标为路径

packages/messaging_core/assets/icons/copy.svg

但是我在我的应用程序中看不到本地包中的图标 但是,如果我将其发送到 github 并从那里导入,一切都会好起来的。 知道出了什么问题吗?

flutter dart
1个回答
0
投票

该问题可能与您在

pubspec.yaml
文件中使用的路径有关。当引用本地包中的资源时,您应该使用
lib/
前缀而不是
packages/

尝试在

subproject's pubspec.yaml
文件中更改资产声明,如下所示:

assets:
  - lib/assets/icons/

然后,当你想在代码中访问这些资产时,你应该使用 package: 方案,后跟包名称和资产路径:

Image.asset('package:messaging_core/assets/icons/copy.svg')

Image.asset('package/messaging_core/assets/icons/copy.svg')

此外,请确保您已将本地包添加到父项目的 pubspec.yaml 的依赖项下,如下所示:

dependencies:
  flutter:
    sdk: flutter

  messaging_core:
    path: packages/messaging_core

最后,不要忘记在修改 pubspec.yaml 文件后运行 flutter pub get 。

© www.soinside.com 2019 - 2024. All rights reserved.