日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小姐姐:如何参与大型开源项目-Taro 共建

發布時間:2023/12/9 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小姐姐:如何参与大型开源项目-Taro 共建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。

本文來自前端程序媛「清湯餃子」,餃子非常高產,點擊文末「閱讀原文」直達她的掘金主頁

一、背景—

在開發的工作中,我們都引用過大量的社區優秀的開源項目,但怎么才能更好的了解這些開源項目呢,答案是 Join it。

參與開源項目,能夠幫助我們拓寬對研發項目的認識,更好地理解開源項目的原理,以及提高個人影響力、競爭力。

二、選擇項目—

人對于不熟悉的東西總是覺得高深莫測的,沒有參與開源項目的經驗的時候,會對參與開源項目不知道從何下手。

其實不然,在我們開發日常需求時就可以參與到開源項目中來,開發時用到的技術棧,就是我們最值得入手的開源項目了。

像我自己日常有開發微信小程序、京東小程序等跨平臺的需求,這類型需求主要技術棧是 Taro[1],Taro[2] 本身就是 github star 近 30 k 的優秀開源項目了,那么我就可以從 Taro 著手,參與到開源項目的建設工作中。

三、快速開始—

首先要了解、遵守開源項目的貢獻規范,一般可以在官網找到貢獻規范文檔,如 Taro 貢獻指南[3]

1. 確定貢獻形式

貢獻形式多種多樣,下面我以 “提交代碼” 類型快速開始貢獻流程。


2. 找到感興趣的 issue

Taro 官網:issue 中會列出所有被標記為 Help Wanted 的 Issues,并且會被分為 Easy、 Medium、 Hard 三種難易程度。

通過 issue 標簽篩選,選擇自己感興趣的 issue,可以先從 "Easy" 的開始:


在 issue 中 Assignees 至自己:


3. fork & clone

fork Taro 源碼至自己倉庫:


clone 個人倉庫的 Taro 源碼至本地:

git clone https://github.com/jiaozitang/taro

4. 本地開發環境

在 Taro 源碼項目中安裝依賴并編譯:

# 安裝依賴 $ yarn# 編譯 $ yarn build

查看該 issue 涉及哪些 package,為這些 package 設置 yarn link,并在本地編譯,使得調試項目能夠 link 到開發中的源碼:

Taro package 說明見文檔:Taro 倉庫概覽[4]

”# yarn link $ cd packages/taro-components $ yarn link# 本地編譯 $ yarn dev

新建 Taro 項目用于調試 Taro 源碼:

# 使用 npm 安裝 CLI $ npm install -g @tarojs/cli# 初始化項目 $ taro init myApp# yarn link $ yarn link "@tarojs/components"

5. 開始開發

5.1 功能開發

通過以下步驟解決上述 “textarea 組件 onLineChange 時間調用無效”[5] issue:

源碼路徑:packages/taro-components/src/components/textarea/textarea.tsx

onLineChange 事件:

  • 新增 onLineChange 事件

  • 監聽輸入事件,輸入時通過行高計算行數

  • 行數改變時觸發 onLineChange

auto-height 屬性:

  • 新增 auto-height 屬性

  • 新增 auto-height 樣式

具體代碼見:https://github.com/NervJS/taro/pull/10681/files

5.2 更新測試用例

在測試用例中添加對 onLineChange 事件、aotu-height 屬性的測試。

源碼路徑:packages/taro-components/__tests__/textarea.spec.js

5.3 更新文檔

在 README 中更新對 onLineChange、auto-height 的描述。

源碼地址:packages/taro-components/src/components/textarea/index.md

5.4 自測

在本地測試項目 myApp 中,自測 onLineChange 事件、auto-height 屬性功能是否正常,自測通過后,在 Taro 源碼項目中跑自動化測試。

# 自動化測試 $ npm run test

6. 提交 pull request

測試通過后,在 github 中提交 pull requrst。


7. code review 流程

提交 pull request 后等待社區 code review,并及時跟進 code review 反饋進行修改。


四、總結—

本文講述了參與大型開源項目-Taro 的流程,其中以為 Taro 解決 issue 的視角,介紹了從認領 issue、解決 issue、貢獻代碼的完整過程。

在這個過程中,我們可以了解到如何參與開源項目并幫助開源項目解決問題,在開發工作中遇到開源項目的問題時,就可以愉快地參與進來了,不用因為一個小問題耽擱項目進度。

星星之火,可以燎原,在越來越多的開發者的參與下,開源社區的發展未來可期。

參考資料—

  • 如何參與一個頂級開源項目[6]

參考資料

[1]

Taro: https://github.com/NervJS/taro

[2]

Taro: https://github.com/NervJS/taro

[3]

Taro 貢獻指南: https://taro-docs.jd.com/taro/docs/CONTRIBUTING

[4]

Taro 倉庫概覽: https://taro-docs.jd.com/taro/docs/codebase-overview

[5]

“textarea 組件 onLineChange 時間調用無效”: https://github.com/NervJS/taro/issues/8003

[6]

如何參與一個頂級開源項目: https://juejin.cn/post/6844903918749614087

·················?若川簡介?·················

你好,我是若川,畢業于江西高校?,F在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經寫了7篇,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助3000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。

識別方二維碼加我微信、拉你進源碼共讀

今日話題

略。分享、收藏、點贊、在看我的文章就是對我最大的支持~

總結

以上是生活随笔為你收集整理的小姐姐:如何参与大型开源项目-Taro 共建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。