001.2 flutter依赖配置之dependency_overrides【入门级】

场景再现

今天碰到这么个情况:
1。 一个【dart包工程 A】(通常自己无法独立运行,需要作为别的工程的依赖才可以运行),它依赖一个【flutter plugin B】(dart+native);
2 因为那个【dart包工程 A】无法单独运行,因此给它加了一个【example工程 C】来依赖【dart包工程A】,从而实现快速开发测试的目的;
3 但是【flutter plugin B】因为涉及native代码,有非常多的依赖【依赖 D】,导致【example工程 C】运行起来很麻烦(因为要连带着把那些依赖都加进来);
4 目前只有【example工程 C】代码随便改动,其他工程代码都是需要上线的,不能随意改动,怎么办?

学到一个配置(dependency_overrides)

# 直接在【example工程 C】的pubspec.yaml文件中加入dependency_overrides配置,让它的依赖改到本地local_plugins中,这个里面可以简单的做一个mock实现
dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2

dependency_overrides:
  tt_ad_flutter_plugin:
    path: ./local_plugins/***_flutter_plugin 

dev_dependencies:
  flutter_test:
    sdk: flutter

其他方案

  • 可以想办法优化【flutter plugin B】的实现,比如通过运行时的方式减少依赖,这样就不需要维护本地的local_plugins了。

你可能感兴趣的:(001.2 flutter依赖配置之dependency_overrides【入门级】)