Вот моя структура папок для пакета core
:
/pubspec.yaml
/assets
|-images
|-lang
|- en.json
|- hi.json
У меня есть похожая структура для другого модуля под названием moduleA
Теперь, когда я загружаю файл json Я загружаю его так:
await rootBundle.loadString('assets/lang/en.json');
Но проблема в том, что когда я использую экраны модуля 'core' в 'moduleA', модуль 'core' заглядывает внутрь 'moduleA', чтобы найти путь к файлу. Мне нужен способ указать, из какого пакета загружать файл:
Теперь я уже изучил ответ на вопрос об ударе и попробовал его, но у меня не получилось:
Как использовать rootBundle во флаттере для загрузки изображений?
выполнение rootBundle.loadString ('packages / core / assets / lang / en. json') все еще дает мне Ошибка: файл не найден, несмотря на то, что он указан в файле pubspe c .yaml и скопирован ресурс / папка в папке core / lib.
Итак, когда я загружаю строку, используя:
await rootBundle.loadString('packages/core/assets/lang/${locale.languageCode}.json');
Я получаю следующую ошибку:
Error: unable to find directory entry in pubspec.yaml: /Users/nateshmbhat/Desktop/nuclei-flutter-sdk/core/packages/core/assets/images/
Вот мое ядро / pubspe c .yaml:
flutter:
assets:
- packages/core/assets/lang/
- packages/core/assets/images/
Я переместил папку ресурсов в ядро / lib /.
Что-то не так я здесь делаю? Есть идеи, как это исправить?