Как добавить плагин в флаттер?
Я хочу добавить любой плагин в свой веб-проект, но после добавления плагина я получаю сообщение об ошибке. Я запустил Flutter Pub, он дал мне код 0. Но когда я пытаюсь:
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
Там написано, что пакет не найден.
pubspec.yaml
environment:
# You must be using Flutter >=1.5.0 or Dart >=2.3.0
sdk: '>=2.3.0 <3.0.0'
dependencies:
flutter_web: any
flutter_web_ui: any
dev_dependencies:
build_daemon: ^2.0.0
build_runner: ^1.6.6
build_web_compilers: ^2.1.0
pedantic: ^1.7.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
2 ответа
Вы не добавили font_awesome_flutter
плагин еще. Он должен быть в вашем файле pubspec.yaml следующим образом:
environment:
# You must be using Flutter >=1.5.0 or Dart >=2.3.0
sdk: '>=2.3.0 <3.0.0'
dependencies:
flutter_web: any
flutter_web_ui: any
font_awesome_flutter: ^8.5.0
dev_dependencies:
build_daemon: ^2.0.0
build_runner: ^1.6.6
build_web_compilers: ^2.1.0
pedantic: ^1.7.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
К сожалению, даже если бы он был у вас там, он все равно не работал бы как font_awesome_flutter
плагин даже не поддерживается для Flutter Web. См. Пример custom_fonts в репозитории Flutter Web для примера того, как добавить пользовательские шрифты в Flutter Web.
В этом конкретном портфолио я не уверен, использовал ли он какой-нибудь замечательный плагин. Вы можете проверить его код здесь. https://github.com/iampawan/myportfolio
Вместо этого проверьте это руководство по миграции, чтобы увидеть, выполнили ли вы эти шаги, упомянутые в этих разделах.
Кроме того, чтобы использовать новый плагин, это то, что я следую в своем проекте. Например, это то, как я использую пакет graphql-2.1.0 в своем проекте.
- Я иду на страницу версии пакета флаттера. В этом случае здесь.
Скачайте последнюю версию и распакуйте ее в папку в моем проекте. например
$project_dir\ пакеты
вдоль стороны - $project_dir\lib, $project_dir\web
Замените все операции импорта внутри $project_dir\packages\font-awesome-folder\lib на
package:flutter to package:flutter_web
dart:ui to package:flutter_web_ui/ui.dart
редактировать
$project_dir\packages\font-awesome-folder\pubspec.yaml
использовать SDK flutter_web, как определено в руководстве по миграции.- Наконец сделать
flutter pub get
а такжеpub get
Конечно, при таком подходе мы теряем устаревшие версии. Также, если font-awesome зависит от чего-то другого, мы должны сделать то же самое для него. Но пока я считаю, что это работает для меня.
Вы можете проверить, как портированный пакет kevmoo для провайдера будет использоваться в этом разделе.
Pubspec.yaml
flutter_web_ui:
git:
url: https://github.com/flutter/flutter_web
path: packages/flutter_web_ui
сборка виджета
ui.platformViewRegistry.registerViewFactory("my_div_", (int viewId) {
DivElement element = DivElement()
..id = "reader"
..innerHtml = "Hello World";
return element;
});
Строительные леса
import 'dart:ui' as ui;
Column(children:[ HtmlElementView(viewType: 'my_div')])