记录一次给ng-zorro-antd提PR的过程

起因

我们组测试给我提了一个关于样式的BUG,如下图所示,本质上就是个长数字不换行的问题,

但我发现ng-zorro-antd官方组件也有这个问题,加个css就能解决的事情,所以我索性想着自己解决并提PR吧

过程

拉代码

先clone ng-zorro-antd的代码
git clone https://github.com/NG-ZORRO/ng-zorro-antd.git

用终端进行clone,不知道是什么原因,经常timeout,索性用Soucetree去拉,解决。

装依赖

npm install

由于本人没有仔细看,官方的文档,又因为工作中我用到的node版本只需要14.20,所以install的时候遇到一些莫名其妙的问题,最后又仔细翻了下文档,发现node版本至少需要17.1.0,但我发现17.1.0在npm start的时候也会报错,所以我直接使用了21.1.0,所以需要额外的注意node的版本。

运行项目

npm run start

接下来终于可以更改问题了

更改问题

因为本质只是个换行的问题,找到对应的组件,并进行添加css即可

然后测试了一下,问题也得到了解决。

执行单元测试

npm run test,也是一帆风顺

提交变更内容

注意稍微大一点的组件库都拥有一个 Contribute的规范,翻一下官方文档很容易找到,因为这也我为数不多的一次PR,所以有必要仔细阅读一下

然后你大致看了一会,能够明白

  1. 是否值得PR?这个问题是否在社区已经被解决。
  2. 提PR的具体操作
  3. 必须严格遵守commit的规范
    然后就按部就班进行如下步骤

git checkout

css 复制代码
git checkout -b 你自定义的名字 master

git commit

注意有个commit的规范,然后我这边的是修改bug,然后再加上翻译软件的帮助下进行commit

scss 复制代码
git commit -a -m "fix(module:message): adjust long number line feeds"

额外:ng-zorro-antd库执行commit的时候会跑一个pre-commit的脚本,如果你的commit不规范,它会在终端给出提示。

如果你怎么commit都不成功,你可以去github看看别人PR的commit是怎么写的,复制过来改一下就行。

Github 上进行PR

由于作者这边已经PR过了,所以用的别人的图(来自CSDN高自强的博客)

点击create pull request

然后根据自己的实际情况,把对应的内容进行补充一下即可

然后等待审核即可

因为这边本质上只是加了个样式,没有动到逻辑代码,所以很容易也就过了,但只给了部分通过的标签,所以估计会有异议。

后续

大致意思就是,ant-design也存在这个问题,更改样式这块得ant-design改了,ng-zorro-antd才会进行同步更改,所以无法合并我的代码,其中也解释了为什么给部分通过的原因。

总结

虽然最终并没有被官方merge,但参与这个开源的过程还是让我学到了不少东西,期间一度因为种种问题想放弃,毕竟那么简单的问题,肯定也会被别人解决,我为什么浪费这个时间去推进这件事,但好在硬磨把这件事完整的解决了。

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
lpfasd1234 天前
2026年第38周GitHub趋势周报
python·科技·github
汉堡大王95274 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
u1301304 天前
GitHub 热榜项目:日榜(2026-09-21)
人工智能·github
梦想很大很大4 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端