首先,要感謝你決定為 Fastify 編寫插件。Fastify 本身是一個極簡的框架,插件才是它強(qiáng)大功能的來源,所以,謝謝你。Fastify 的核心原則是高性能、低成本、提供優(yōu)秀的用戶體驗。當(dāng)編寫插件時,這些原則應(yīng)當(dāng)被遵循。因此,本文我們將會分析一個優(yōu)質(zhì)的插件所具有的特征。
需要一些靈感?你可以在 issue 中使用 "plugin suggestion" 標(biāo)簽!
Fastify 運(yùn)用了不同的技術(shù)來優(yōu)化代碼,其大部分都被寫入了文檔。我們強(qiáng)烈建議你閱讀 插件指南 一文,以了解所有可用于構(gòu)建插件的 API 及其用法。
存有疑慮或?qū)で蠼ㄗh?我們非常高興能幫助你!只需在我們的 求助倉庫 提一個 issue 即可!
一旦你向我們的 生態(tài)列表 提交了一個插件,我們將會檢查你的代碼,需要時也會幫忙改進(jìn)它。
文檔相當(dāng)重要。假如你的插件沒有好的文檔,我們將拒絕將其加入生態(tài)列表。缺乏良好的文檔會提升用戶使用插件的難度,并有可能導(dǎo)致棄用。以下列出了一些優(yōu)秀插件文檔的示例:
你可以為你的插件使用自己偏好的許可,我們不會強(qiáng)求。我們推薦 MIT 許可證,因為我們認(rèn)為它允許更多人自由地使用代碼。其他可替代的許可證參見 OSI list 或 GitHub 的 choosealicense.com。
總在你的倉庫里添加一個示例文件。這對于用戶是相當(dāng)有幫助的,也提供了一個快速的手段來測試你的插件。使用者們會為此感激的。
徹底地測試一個插件,來驗證其是否正常執(zhí)行,是極為重要的。缺乏測試會影響用戶的信任感,也無法保證代碼在不同版本的依賴下還能正常工作。
我們不強(qiáng)求使用某一測試工具。我們使用的是 tap,因為它提供了開箱即用的并行測試以及代碼覆蓋率檢測。
這一項不是強(qiáng)制的,但我們強(qiáng)烈推薦你在插件中使用一個代碼檢查工具。這可以幫助你保持統(tǒng)一的代碼風(fēng)格,同時避免許多錯誤。
我們使用 standard,因為它不需任何配置,并且容易與測試集成。
這一項也不是強(qiáng)制的,但假如你開源發(fā)布你的代碼,持續(xù)集成能保證其他人的參與不會破壞你的插件,并檢查插件是否如預(yù)期般工作。Travis 持續(xù)集成系統(tǒng)對開源項目免費(fèi),且易于安裝配置。此外,你還可以啟用 Greenkeeper 等服務(wù),它可以幫你將依賴保持在最新版本,并檢查在 Fastify 的新版本上你的插件是否存在問題。
棒極了,現(xiàn)在你已經(jīng)了解了如何為 Fastify 寫一個好插件! 當(dāng)你完成了一個插件(或更多)之后,請讓我們知道!我們會將其添加到 生態(tài) 一節(jié)中!
想看更多真實的例子?請參閱:
更多建議: