手把手教你实现组件化(一)

瘢痂装饰
• 阅读 3162

简介

本篇文章主要是针对苹果端组件化的思想讲解,从零开始一步一步教你如何实现组件化,本章介绍如何创建远程索引库和本地索引库。

组件化目的

第一:让你轻松调用团队其他成员的组件,分离依赖性比较强的模块。
第二:降低维护成本,各人维护各人模块,互不影响。
比如你写了一个下拉菜单控件,你封装后,其他人如果想调用,一般采用的办法是把你封装的代码拿过来,导入到项目中,现在采用组件化就是封装后上传到第三方托管处(可加密可公开),用Cocopod直接在podfile中导入文件名称,更新,就可以使用该模块。

具体实现步骤 :

1 登录你的码云账号 或者Github账号

https://gitee.com/login

2 创建项目如下图:

手把手教你实现组件化(一)

3 复制远程索引库地址HTTPS或者SSH地址 使用SSH的方式 需要在仓库添加你的公钥,如何添加请参考以下博客:

如何添加公钥: http://blog.csdn.net/huang351...

4 终端进入你的项目文件

    1 cd 你的项目主目录绝对路径 
    2 pod lib create XX

注意 :
1 xx 你自己封装的组件模块名称
2 你的项目主目录是指和你项目同级的目录
示例:

手把手教你实现组件化(一)
5 打开终端,将远程私有库关联到本地

 1 cd  你的项目绝对路径  
 2 pod repo add XXSpec 粘贴你刚才复制的https地址

示例:
手把手教你实现组件化(一)

注意 :
1 项目绝对路径 可以采用拖拽的方式直接添加到终端
2 上述命令执行完后可以进入 /用户/XX/.cocoapods/repos 可以发现多了一个LTSpec文件夹,这里就是我们用来存放组件的.podSpec文件的。

6 将自己封装的模块拷贝到创建的模板工程中

示例:
手把手教你实现组件化(一)

7 修改组件的.podSpec文件 可用编辑器打开
示例:
手把手教你实现组件化(一)

内容解释
  // 设置名称
  s.name         = "Test"

  // 设置版本号
  s.version      = "0.0.1"

  // 设置摘要
  s.summary      = "A short description of HttpManager."

  // 设置详情
  s.description  = "Good"

  // 设置仓库主页
  s.homepage     = ""

  // 设置许可证
  s.license      = "MIT"

  // 设置作者
  s.author             = { "iThinkerYZ" => "690423479@qq.com" }

  // 设置仓库源,表示在哪可以找到组件工程
  s.source       = { :git => "", :tag => "#{s.version}" }

  // 设置 源文件路径 => 不是整个工程的文件,而是自己封装的代码,以后别的工程引入,就会引入这里的代码。
  s.source_files  = "HttpManager/Classes/**/*.{h,m}"

 // s.dependency = '' 组件工程依赖哪些第三方框架
 // s.frameworks = 'UIKit', 'MapKit' 组件工程依赖哪些原生框架
 // s.resource_bundles = {} 组件工程图片资源

  

手把手教你实现组件化(一)

注意:这里面的 仓库源一定有填写正确,否则后续会提交不成功!

8 终端命令

   1 cd 你的封装模块文件夹 
   2 git add .
   3 git tag '0.1.0'
   4 git remote add origin *SSH地址*
   5 git push -u origin master
   6 git push --tag

9 对文件进行本地验证和远程验证

   1 pod lib lint --private
   2 pod repo push LTSpec Test.podspec
   3 pod search Test

注意:
1 安装两个Xcode的会遇到错误提示

手把手教你实现组件化(一)

解决方案:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

10 将验证通过的.podSpec文件加入到本地私有索引库,并上传到远程私有索引库
示例:
手把手教你实现组件化(一)

参考链接 :

https://baijiahao.baidu.com/s...
https://mp.weixin.qq.com/s/wE...

欢迎吐槽: 804774355@qq.com

点赞
收藏
评论区
推荐文章
Souleigh ✨ Souleigh ✨
4年前
如何搭建一个完美的组件库?
如何做一个组件库?本篇文章不会讲一个小的组件如何设计,而是会整体讲一个“逼近完美”的组件库是怎么设计的。组件库划分要想设计一个灵活好用的组件库,第一步就是要合理的划分组件,组件的粒度足够细,边界足够清晰,这样才能最大程度地复用组件。(https://imghelloworld.osscnbeijing.aliyuncs.com/i
Easter79 Easter79
3年前
Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa j2ee分布式架构
框架简介主要定位于互联网企业架构,已内置企业信息化系统的基础功能和高效的代码生成工具,包括:系统权限组件、数据权限组件、数据字典组件、核心工具组件、视图操作组件、工作流组件组件、代码生成等。采用分层设计、双重验证、提交数据安全编码、密码加密、访问验证、数据权限验证。平台简介    是一个分布式的框架,提供项目模块化、服务化、热插拔的思想,高
Stella981 Stella981
3年前
Android组件化方案及组件消息总线modular
背景组件化作为Android客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。美团内部各个Android开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。最近,我们团队对美团零售收银和美团轻收银两款AndroidApp进行了组件化改造。本文主要介绍我们的组件化方案,希望对从事Android组件化开发
Stella981 Stella981
3年前
ELK学习笔记之ElasticSearch的索引详解
0x00ElasticSearch的索引和MySQL的索引方式对比Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤。特别是它对多条件的过滤支持非常好,比如年龄在18和30之间,性别为女性这样的组合查询。倒排索引很多地方都有介绍,但是其比关系型
提升前端开发效率的五种实用技术
组件化开发是一种将页面拆分成独立的可重用组件的开发方式。通过组件化开发,我们能够将复杂的界面逻辑拆分成独立的模块,提高代码的复用性和维护性。常用的组件化框架如React、Vue和Angular,它们提供了强大的组件化开发能力,使我们能够轻松构建复杂的用户界面,并提供了组件的生命周期管理和状态管理机制。