Nuxt.js 開源貢獻指引

2022-03-03 15:19 更新
歡迎為 Nuxt.js 做出開源貢獻!

提交問題

我們使用CMTY使貢獻者和維護者更容易的提交問題和新功能改進。

請確保包含一個克隆倉庫或CodeSandBox,以便可以更好地再現(xiàn)錯誤,我們開始修復(fù)它的速度越快!

Pull Requests

歡迎大家提 PR( 源碼拉取請求 ),即便是修復(fù)一個拼寫錯誤。

任何重大改進都應(yīng)與現(xiàn)有功能請求錯誤報告相關(guān)聯(lián)。

開始

  1. Fork 代碼倉庫到您自己的GitHub帳戶,然后 clone 到您的本地。
  2. 運行 npm install 或 yarn install 來安裝依賴。
請注意,npm 和 yarn 都被認為丟失依賴項。要解決此問題,您可以刪除示例應(yīng)用程序中的node_modules文件夾,然后重新安裝或執(zhí)行缺少的依賴項的本地安裝。
如果要添加依賴項,請使用yarn add。yarn.lock文件是所有Nuxt依賴項的最新源。

構(gòu)建

在運行任何測試之前,請確保滿足所有依賴項并構(gòu)建所有依賴項:

yarn
yarn build

測試結(jié)構(gòu)

一個偉大而出色的PR,無論是包含錯誤修復(fù)還是新功能,都會包含測試。

要編寫出色的測試,讓我們解釋一下我們的測試結(jié)構(gòu):

Fixtures

這個 fixtures (在 tests/fixtures 目錄下) 包含幾個Nuxt應(yīng)用程序。為了使構(gòu)建時間盡可能短,我們不會為每個測試構(gòu)建一個自己的Nuxt應(yīng)用程序。相反,在運行實際的單元測試之前,構(gòu)造了(yarn test:fixtures)。

提交PR時,請確保 更改 或 添加新fixture 用來正確反映更改(如果適用)。 此外,不要忘記在更改后通過使用jest test/fixtures/my-fixture/my-fixture.test.js運行相應(yīng)的測試來重新構(gòu)建fixtures。

Unit tests(單元測試)

單元測試可以在tests/unit中找到,并將在構(gòu)建fixtures后執(zhí)行。每次測試,將使用新的Nuxt服務(wù)器以便不存在共享狀態(tài)(除了構(gòu)建步驟的初始狀態(tài))。

添加單元測試后,您可以直接運行它們:

jest test/unit/test.js

或者您可以運行整個單元測試:

yarn test:unit

請再次注意,您可能需要重新構(gòu)建您的fixture!

測試您的更改

在處理PR時,您可能需要檢查fixture是否設(shè)置正確或調(diào)試當(dāng)前的更改。 為此,您可以使用Nuxt腳本本身來啟動例如您的fixture或示例應(yīng)用:

yarn nuxt examples/your-app
yarn nuxt test/fixtures/your-fixture-app
npm link也可以(并且在某種程度上)可以為此工作,但有時它會出現(xiàn)一些問題。這就是為什么我們建議直接調(diào)用yarn nuxt來運行示例。

例子

如果您正在開發(fā)更大的功能,請在 examples/ 中設(shè)置一個示例應(yīng)用程序。 這將有助于理解變更,并幫助Nuxt用戶深入了解您提交構(gòu)建的功能。

Linting

您可能已經(jīng)注意到,我們正在使用 ESLint 來強制檢查代碼標(biāo)準(zhǔn)。請在提交之前運行yarn lint您的更改以檢查代碼樣式是否標(biāo)準(zhǔn)。 如果沒有,你可以使用 yarn lint --fix 或 npm run lint -- --fix (沒有拼錯!)來修復(fù)大部分的樣式風(fēng)格變化。如果仍有錯誤,則必須手動更正。

文檔

如果您要添加新功能,請進行重構(gòu)或以任何其他方式更改Nuxt的行為,您可能會這樣做 想要記錄變化。請?zhí)峤籔R到 docs 代碼倉庫。您不必立即編寫文檔(但請在PR足夠嚴(yán)謹及檢查后提交)。

提交過程

提交PR時,您需要填寫一個簡單的模板。

請勾選清單中的所有對應(yīng) "answers"。

在macOS上調(diào)試測試

搜索getPort()將顯示它用于在測試期間啟動新的Nuxt進程。使用macOS它有時會停止,并且可能需要您手動設(shè)置端口進行測試。

另一個常見問題是Nuxt進程在運行fixture測試時可能會掛起內(nèi)存。過程通常會阻止后續(xù)測試工作。運行ps aux | grep -i node如果您對發(fā)生這種情況不解,則檢查任何掛起的測試過程。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號