几个月前,我使用flutter开发了一个android应用程序。该应用程序需要各种依赖项,例如intl,缓存的网络映像,塞子,carousel_slider等。
然后现在我想将项目转换为flutter_web。这是我执行的步骤:
这是Web flutter项目中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'时,解决软件包停止器时发生错误。然后,我尝试从包停止器(https://github.com/aryzhov/flutter-stopper)中打开github,之后检查了lib文件夹中的文件。在那里,我找到了一个名为stopper.dart的文件。事实证明,在文件中,仍在使用 导入'package:flutter / material.dart'; 因此,这使我的pubspec错误。因为该代码应替换为 导入“包:flutter_web / material.dart”;
因此,我试图通过删除pubspec.yaml上的依赖项停止器来解决问题,然后手动创建了stopper.dart文件,然后将其保存在lib / mypackages文件夹中。之后,我从lib / mypackages文件夹中导入stopper.dart(不再通过该软件包)。
程序包停止器只是我在Android项目中使用的程序包之一。实际上,还有许多其他包装与包装塞有相同的问题。关键是我必须手动创建软件包文件,然后将“ package:flutter / ...”手动更改为“ package:flutter_web /”,然后才能导入它们。
我想问的是,还有一种更优雅,更简单的方法吗?