【问题标题】:How to include file assets to be used by your own package in flutter如何在颤振中包含要由您自己的包使用的文件资产
【发布时间】:2020-11-09 12:59:18
【问题描述】:

我有一个包,我试图从我的 rootBundle 加载一个字符串。该文件仅作为内部配置的一部分在包本身中使用。我看不出哪里出错了。

这是我的文件夹结构:

my-package
  --> lib
  --> pubspec.yaml
  --> assets/file.js

这是我的 pubspec.yaml 的内容

flutter:
  assets:
    - assets/
    - assets/file.js

我是这样称呼它的

String js = await rootBundle.loadString('assets/file.js');

我一直无法加载资产

Unable to load asset: assets/file.js

【问题讨论】:

    标签: flutter dart assets


    【解决方案1】:

    有同样的问题,但通过这样做解决了它:

    在您的包的 .yaml 文件中,添加此行以导入文件/资产

    assets:
    - packages/<Package name>/assets/<File name>
    

    &lt;Package name&gt; 替换为您的包的名称,将&lt;File name&gt; 替换为所述文件/资产的名称。

    然后将文件/资产放在包的 lib 目录下的文件夹中。结构应如下所示:

    my_package
    --> lib
        --> assets
            file.js
    

    如有必要,请确保将任何其他文件夹添加到引用中。

    在您的应用或包中引用文件/资产时,请使用与 .yaml 文件中相同的引用:

    String js = await rootBundle.loadString('packages/<Package name>/assets/file.js');
    

    例如,我在这里得到一个 .js 文件。

    【讨论】:

    • 谢谢!这只是解决了一个古老的问题。 O 我不必复制插件资产。我不敢相信这花了这么长时间才得到答复
    猜你喜欢
    • 1970-01-01
    • 2021-09-13
    • 2023-03-29
    • 2021-01-08
    • 2021-08-30
    • 2018-12-06
    • 2012-05-17
    • 2018-04-13
    • 2022-07-02
    相关资源
    最近更新 更多