W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
歡迎為 Nuxt.js 做出開源貢獻!
我們使用CMTY使貢獻者和維護者更容易的提交問題和新功能改進。
請確保包含一個克隆倉庫或CodeSandBox,以便可以更好地再現(xiàn)錯誤,我們開始修復(fù)它的速度越快!
歡迎大家提 PR( 源碼拉取請求 ),即便是修復(fù)一個拼寫錯誤。
任何重大改進都應(yīng)與現(xiàn)有功能請求或錯誤報告相關(guān)聯(lián)。
請注意,npm 和 yarn 都被認為丟失依賴項。要解決此問題,您可以刪除示例應(yīng)用程序中的node_modules文件夾,然后重新安裝或執(zhí)行缺少的依賴項的本地安裝。
如果要添加依賴項,請使用yarn add。yarn.lock文件是所有Nuxt依賴項的最新源。
在運行任何測試之前,請確保滿足所有依賴項并構(gòu)建所有依賴項:
yarn
yarn build
一個偉大而出色的PR,無論是包含錯誤修復(fù)還是新功能,都會包含測試。
要編寫出色的測試,讓我們解釋一下我們的測試結(jié)構(gòu):
這個 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。
單元測試可以在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)建的功能。
您可能已經(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"。
搜索getPort()將顯示它用于在測試期間啟動新的Nuxt進程。使用macOS它有時會停止,并且可能需要您手動設(shè)置端口進行測試。
另一個常見問題是Nuxt進程在運行fixture測試時可能會掛起內(nèi)存。過程通常會阻止后續(xù)測試工作。運行ps aux | grep -i node如果您對發(fā)生這種情況不解,則檢查任何掛起的測試過程。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: