Flutter Web 无法使用移动项目中的包

标签 flutter dart flutter-dependencies flutter-web

几个月前,我使用 flutter 制作了一个 Android 应用程序。应用程序需要各种依赖项,例如intl、缓存的网络图像、stopper、carousel_slider等。

然后现在我想将项目转换为flutter_web。以下是我所做的步骤:

  1. 克隆 github web flutter
  2. 我运行命令“flutter packages pub global activate webdev”
  3. 然后我编辑了pubspec.yaml,并将其调整为上一个项目(android项目)中的pubspec.yaml

以下是 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 的文件。事实证明,在文件中,仍然使用 导入'包:flutter/material.dart'; 这使得我的 pubspec 错误。因为代码应该替换为 导入'包:flutter_web/material.dart';

因此,我尝试通过删除 pubspec.yaml 上的依赖停止程序来解决这个问题,然后手动创建了一个 stopper.dart 文件,然后将其保存在 lib/mypackages 文件夹中。之后,我从 lib/mypackages 文件夹导入 stopper.dart(不再通过包)。

package stopper 只是我在 Android 项目中使用的软件包之一。其实还有很多其他的包装也有和包装塞同样的问题。重点是我必须手动创建包文件,然后手动将“package: flutter/...”更改为“package: flutter_web/”,然后我可以导入它们。

我想问一下,有没有更优雅、更简单的方法?

最佳答案

您好,您遵循的说明来自旧存储库 here 。如您所见,该功能已停止使用。您可以在自述文件中找到信息。

相反,您应该按照此 page 中的说明进行操作。仔细阅读一次,我建议保留您的主要项目的备份并处理副本。

  1. 首先,您必须使用 flutter config --enable-web 启用 flutter-web。
  2. 然后您必须运行 flutter create 。

关于Flutter Web 无法使用移动项目中的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58617262/

相关文章:

firebase - PluginRegistry无法转换为FlutterEngine

firebase - 在我的 flutter 应用程序中,只有当我们触摸屏幕时才会加载页面内容。为什么?

flutter - 使用相机包授予权限会在出现异常时暂停调试器

dart - 我可以将 MediaQuery.of(context) 固定为常数值吗?

flutter - 如何使用 SharedPreferences 保存和检索自定义对象列表?

css - 使用 dart sass 实现,grunt-sass 不会在不抛出错误的情况下编译 css 文件

dart - Flutter Future 和 setstate

listview - 动态添加 List<Widget> 到 ListView.children

flutter - 具有 fitHeight 的 FittedBox 渲染图像宽度的其余部分

android - Flutter - 如何防止 BouncingScrollPhysys 在到达 CustomScrollView 的末尾时弹跳?