Несколько месяцев назад я сделал приложение для Android, используя флаттер. Приложению требуются различные зависимости, такие как intl, кэшированный сетевой образ, стопор, carousel_slider и т. Д.
Тогда прямо сейчас я хочу преобразовать проект в flutter_web. Вот шаги, которые я сделал:
- clone github web flutter
- Я запускаю команду "flutter packages pub global activ webdev"
- Затем я отредактировал pubspec. yaml и я настроили его на pubspec.yaml в предыдущем проекте (проект android)
Вот содержимое pubspec.yaml в проекте веб-флаттера:
name: flutter_web.examples.hello_world
environment:
# You must be using Flutter> = 1.5.0 or Dart> = 2.3.0
sdk: '> = 2.3.0-dev.0.1 <3.0.0'
dependencies:
flutter_web: any
flutter_web_ui: any
stopper: ^ 1.0.1
dev_dependencies:
build_runner: ^ 1.4.0
build_web_compilers: ^ 2.0.0
dependency_overrides:
flutter_web:
git:
url: https://github.com/flutter/flutter_web
path: packages / flutter_web
flutter_web_ui:
git:
url: https://github.com/flutter/flutter_web
path: packages / flutter_web_ui
provider:
git:
url: https://github.com/kevmoo/provider
ref: flutter_web
КогдаЯ запускаю 'pub dev', возникает ошибка при разрешении ограничителя пакета. Затем я попытался открыть github из ограничителя пакета (https://github.com/aryzhov/flutter-stopper),, после чего я проверил файлы в папке lib. Там я обнаружил файл с именем stopper.dart. Оказывается, в файле все еще используется импорт 'package: flutter / material.dart '; Это приводит к моей ошибке pubspec. Поскольку код должен быть заменен импортом' package: flutter_web / material.dart ';
Поэтому я попытался перехитрить проблему, удаливограничитель зависимостей на pubspec.yaml, затем я вручную создал файл stopper.dart, затем сохранил его в папке lib / mypackages. После этого я импортирую файл stopper.dart из папки lib / mypackages (его больше нет в пакете).
Стопор пакетов - это только один из пакетов, которые я использую в своем проекте Android. На самом деле есть много других пакетов, которые имеют ту же проблему, что и стопор пакетов. Дело в том, что я должен создать пакетвручную, затем я изменяю "package: flutter / ..." на "package: flutter_web /" вручную, затем могу импort их.
Что я хочу спросить, есть ли более элегантный и простой способ?