用 shell 脚本批量拉取更新 Antd 依赖库,rc-component仓库的项目
需求背景
有时候看 api 没法实现的需求、想看下源码怎么写的,一般得一个一个去对应的 github 项目地址 clone,比较麻烦,也容易遗漏node
实现思路
可能方法有点蠢,稍微分析一下我去拉取的过程,不想看的话直接看技术实现 🐶react
- 查看 rc-component 的 github 地址,仓库内有 94 个项目,切换分页时候并非返回的 json 数据,而是 string,因此我点开了它的homePage
-
- 这个页面就像我喜欢的样子,全部的项目信息都在了,咱们要的无非就是 git 地址
- 由于在浏览器上用 JQ 遍历的信息打印再控制台很差操做
- 因此决定用 node+cherrio 去获取 dom 信息,而后读写到 txt 就行了
- 我想爬到全部的 github 地址信息,而后用 shell 脚本去遍历而后 clone 和 update
技术实现
- 拿到 homePage 的页面,用cheeio解析成 dom,而后就能够想 jq 同样的操做 dom 了
- 有个 node 中文版主的快速入门的教程推荐下
- 将拿到的全部项目地址写入 txt
- shell 脚本遍历 txt,执行 clone,update
demo 步骤
yarn
node index.js
: 生成 txt,详见代码
bash clone.sh
: 批量 clone
bash pull.sh
: 遍历当前文件夹下又.git 的项目,而后执行 git pull