如何在flutter中包含你自己的包要使用的文件资产
How to include file assets to be used by your own package in flutter
我有一个包,我试图从我的 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
有同样的问题,但通过这样做解决了它:
在您的包的 .yaml 文件中,添加此行以导入 file/asset
assets:
- packages/<Package name>/assets/<File name>
将 <Package name>
替换为您的包裹名称,并将 <File name>
替换为所述 file/asset.
的名称
然后将 file/asset 放在包的 lib 目录下的文件夹中。结构应如下所示:
my_package
--> lib
--> assets
file.js
确保在必要时将任何其他文件夹添加到引用中。
在您的应用或程序包中引用 file/asset 时,请使用与 .yaml 文件中相同的引用:
String js = await rootBundle.loadString('packages/<Package name>/assets/file.js');
例如,这里我得到一个 .js 文件。
我有一个包,我试图从我的 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
有同样的问题,但通过这样做解决了它:
在您的包的 .yaml 文件中,添加此行以导入 file/asset
assets:
- packages/<Package name>/assets/<File name>
将 <Package name>
替换为您的包裹名称,并将 <File name>
替换为所述 file/asset.
然后将 file/asset 放在包的 lib 目录下的文件夹中。结构应如下所示:
my_package
--> lib
--> assets
file.js
确保在必要时将任何其他文件夹添加到引用中。
在您的应用或程序包中引用 file/asset 时,请使用与 .yaml 文件中相同的引用:
String js = await rootBundle.loadString('packages/<Package name>/assets/file.js');
例如,这里我得到一个 .js 文件。