Flutter web 无法使用来自移动项目的包
Flutter web cannot use packages from mobile project
几个月前,我使用 flutter 制作了一个 android 应用程序。应用需要intl、缓存网络图片、stopper、carousel_slider等各种依赖
那么现在我想将项目转换为 flutter_web。以下是我执行的步骤:
- 克隆 github 网络颤振
- 我运行命令"flutter packages pub global activate webdev"
- 然后我编辑了pubspec.yaml,我在之前的项目(android项目)中调整为pubspec.yaml
这里是pubspec.yaml web flutter项目的内容:
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'时,解析包塞子时出现错误。然后我尝试从包塞子(https://github.com/aryzhov/flutter-stopper)打开github,之后我检查了lib文件夹中的文件。我在那里找到了一个名为 stopper.dart 的文件。原来在文件里,还在用
导入 'package: flutter / material.dart';
所以这使我的 pubspec 错误。因为代码应该替换为
导入 'package: flutter_web / material.dart';
因此,我试图通过删除 pubspec.yaml 上的依赖项阻止程序来解决问题,然后我手动创建了一个 stopper.dart 文件,然后将其保存在 lib/mypackages 文件夹中。之后,我从lib/mypackages文件夹中导入stopper.dart(不再通过包)。
包塞子只是我在 Android 项目中使用的包之一。其实还有很多其他的包也有和包塞子一样的问题。关键是我必须手动创建包文件,然后我手动将 "package: flutter / ..." 更改为 "package: flutter_web /",然后我可以导入它们。
我想问一下,有没有更优雅简单的方法?
几个月前,我使用 flutter 制作了一个 android 应用程序。应用需要intl、缓存网络图片、stopper、carousel_slider等各种依赖
那么现在我想将项目转换为 flutter_web。以下是我执行的步骤:
- 克隆 github 网络颤振
- 我运行命令"flutter packages pub global activate webdev"
- 然后我编辑了pubspec.yaml,我在之前的项目(android项目)中调整为pubspec.yaml
这里是pubspec.yaml web flutter项目的内容:
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'时,解析包塞子时出现错误。然后我尝试从包塞子(https://github.com/aryzhov/flutter-stopper)打开github,之后我检查了lib文件夹中的文件。我在那里找到了一个名为 stopper.dart 的文件。原来在文件里,还在用 导入 'package: flutter / material.dart'; 所以这使我的 pubspec 错误。因为代码应该替换为 导入 'package: flutter_web / material.dart';
因此,我试图通过删除 pubspec.yaml 上的依赖项阻止程序来解决问题,然后我手动创建了一个 stopper.dart 文件,然后将其保存在 lib/mypackages 文件夹中。之后,我从lib/mypackages文件夹中导入stopper.dart(不再通过包)。
包塞子只是我在 Android 项目中使用的包之一。其实还有很多其他的包也有和包塞子一样的问题。关键是我必须手动创建包文件,然后我手动将 "package: flutter / ..." 更改为 "package: flutter_web /",然后我可以导入它们。
我想问一下,有没有更优雅简单的方法?