如何在另一个颤振应用程序中使用本地颤振包?

beh*_*ati 32 dart flutter flutter-dependencies

如何在另一个扑动应用程序中使用本地颤振包?

我使用以下命令创建了一个包:

flutter create --template=package my_new_package
Run Code Online (Sandbox Code Playgroud)

然后在我的应用程序源代码=> main.dart

import "package:my_new_package/my_new_package.dart" // can not find the package
Run Code Online (Sandbox Code Playgroud)

beh*_*ati 46

在flutter application => pubspec.yaml中找到此文件

使当地依赖

dependencies:
   flutter:
     sdk: flutter
   my_new_package:
     path: ./my_new_package
Run Code Online (Sandbox Code Playgroud)

  • **警告:**这里有一个陷阱,我想提醒人们反对.不要在名为`packages`的flutter根目录中创建一个文件夹,并将包放在那里.`packages`文件夹在构建时被删除. (16认同)
  • 看起来“/packages”在构建过程中不再被覆盖,并且官方文档提到将文件放入以这种方式命名的目录中没有限制。我相信该警告不再适用。 (13认同)
  • @SacWebDeveloper 上面的答案是正确的,没有错误。我的评论只是一个警告。如果你有项目特定的包,最简单的方法是将它们放在项目根目录下的 /packages 目录中,与 `/android`、`/ios`、`/tests` 等处于同一级别。在编写 `/packages` 的时间在构建过程中被覆盖,并且会破坏你的包。有一段时间没有测试了。 (3认同)
  • 官方文档链接是[此处](https://flutter.dev/docs/development/packages-and-plugins/using-packages),用于包和插件。 (2认同)
  • @TheGwa哦。那是有用的信息。谢谢。也许将其称为“插件”或将其添加到“ lib / packages”中?也许社区应该提出一个约定。 (2认同)

Dee*_*ain 20

路径依赖:Flutter 应用程序可以通过文件系统路径依赖插件:依赖。路径可以是相对的,也可以是绝对的。例如,要依赖位于应用程序旁边目录中的插件 plugin1,请使用以下语法:

dependencies:
  plugin1:
    path: ../your_package/
Run Code Online (Sandbox Code Playgroud)


Gra*_*Sim 12

完整流程:

  1. 下载你要使用的插件的代码,并将其放置在与你的flutter项目目录“相同”的级别

     -- plugin-name  
     -- your flutter directory -- lib
                               -- android
                               -- ios etc etc
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将插件路径添加到 pubspec.yaml。*如果您不确定要使用的正确插件名称,请查看name:插件的 pubspec.yaml 文件中的属性。插件目录也必须以相同的方式保存name:

    dependencies:
     plugin-name:
       path: ../plugin-name
    
    Run Code Online (Sandbox Code Playgroud)
  3. 运行Pub get,您可以像任何其他插件一样导入。唯一的区别是当你在开发过程中点击任何插件类时,它会指向本地文件。