引言:
不知道大家有没有因为有太多的开源项目有趣,然后自己 star 了一堆 repo ,然后就收集了一大堆的大堆的项目,但是又没有一个好的分类手段,现在 github 新出了一个新的功能叫做 star list ,功能还比较粗糙仍在打磨,但是能看的出来是一个很有用的功能,当然我在这里肯定不是简单介绍一个新功能,其实我想介绍的是我写的一个新插件,噔噔噔:
简单的介绍
这是一个在谷歌浏览器上运行的插件,用于快速管理你在 github 上面的 star ,项目使用 webpack 和 TypeScript 开发。
如何使用
- 从 Releases 下载最新版本的压缩包
- 将压缩包解压到目录
- 在浏览器中打开扩展程序
- 打开谷歌浏览器的开发者模式,在右上角打开
- 选择加载已解压的扩展程序文件夹,点击确认
(以上都是从 README.md 抄过来的
效果展示图
讲讲实现
代码很简单,加上 css 也不超过一百行。
- 修改节点的样式,使其符合需要的样子
- 找到节点,添加拖拽事件
- 找到修改 repo star list 的请求并模拟该请求进行请求发送
讲讲思路
实现听起来很简单,但是中间还是有不少的绊子。
- 首先第一点,由于习惯了在 webpack 下的开发,但是谷歌插件开发在我之前的认知里面一直是很麻烦的一件事情。
因为他没有热载,于是乎我撸了一个 webpack 插件解决问题。
当然我也调研过了,都不满足要求,或者压根不能用或者代码写的太烂不是很想用。
还没有开源不过已经发了 npm ,在源码中也有体现,这里不细说。 - 其次是 github 是万恶的 ssr ,对插件开发极度不友好,压根拿不到啥 json 数据,官方的 api 又还没有提供这方面的功能,所以只能是苦逼的看源码。
- 首先是找到如何请求的数据,发现是 form 表单后就琢磨 form 表单从哪里来,然后又要到哪里去。这里是请求接口拿到 html str 后在浏览器渲染上来,所以需要找到拿到 html str 的接口,然后再找到提交上去的操作。
总结
SSR 误人啊!希望 github 早点出 star list 相关的接口吧。
对项目感兴趣就来一个 star 支持一下吧~
🔮Astromancer
如果有好的建议也欢迎 issue 和 pr 。
接下来
如果大家对谷歌插件开发感兴趣欢迎留言点赞
大家如果感兴趣的话,我就搞一波有关在谷歌浏览器开发中使用 hot reload 开发的文章
最后感谢大家的观看