前言
组件化的优点:
- 各个模块相互独立,方便管理
- 抽离出功能,方便多个
app
复用 - 方便单元测试
Flutter Package
:用于单独的Flutter
、Dart
代码,不依赖与原生iOS/Android
代码,生成的Package
目录里没有iOS/Android
目录,可创建example
flutter
项目配合测试。
一 第一步
在 lib 同级的目录下 创建一个component 的文件夹,用来存放自己的组件库
创建一个dart 语言的库
# 创建组件命令 例:创建一个以demo命名的组件库
# 1、只创建dart语言库
flutter create --template=package demo
# 2、包含iOS swift、android java 语言库
flutter create --org com.example --template=plugin --platforms=android,ios -a java demo
# 3、包含iOS Object-C、android java 语言库
flutter create --org com.example --template=plugin --platforms=android,ios -a java -i objc demo
# 4、包含iOS Object-C、android Kotlin 语言库
flutter create --org com.example --template=plugin --platforms=android,ios -i objc demo
# 5、包含iOS Swift、android Kotlin 语言库
flutter create --org com.example --template=plugin --platforms=android,ios demo
如果自己的组件引用的有第三方 的库,在其pub文件中引入第三方库,宿主项目的pub的第三方库就可以删除了
二 第二步
在自己的项目 的 pub 文件中 ,引入组件库
pubspec.yaml 配置
dependencies:
flutter:
sdk: flutter
# 组件化配置
sk_net:
path: ./lib/component/sk_net
然后 运行 flutter pub get
三 第三步
将自己抽离的组件库引入,把所有的引入报错都删除掉 按照提示进行新的引入