Ana içeriğe geç

Fastify için İyi Bir Eklenti Yazma

İyi Bir Eklenti Nasıl Yazılır

Öncelikle, Fastify için bir eklenti yazmayı seçtiğiniz için teşekkür ederiz. Fastify, minimal bir çerçeve olup, eklentileri onun güç kaynağıdır, bu yüzden teşekkürler.

Fastify'ın temel ilkeleri performans, düşük aşınma ve kullanıcılarımıza iyi bir deneyim sunmaktır. Bir eklenti yazarken, bu ilkeleri akılda tutmak önemlidir. Bu nedenle, bu belgede kaliteli bir eklentiyi nitelendiren unsurları analiz edeceğiz.

ipucu

Biraz ilhama mı ihtiyacınız var? Sorun izleyicimizdeki "eklenti önerisi" etiketini kullanabilirsiniz!

Kod

Fastify, kodunu optimize etmek için çeşitli teknikler kullanmaktadır; bunların birçoğu Kılavuzlarımızda belgelenmiştir. Eklentinizi oluşturmak için kullanabileceğiniz tüm API'leri keşfetmek ve bunları nasıl kullanacağınızı öğrenmek için eklentilere yönelik yolculuk rehberini okumanızı şiddetle tavsiye ederiz.

bilgi

Bir sorunuz mu var ya da bazı tavsiyelere mi ihtiyaç duyuyorsunuz? Size yardımcı olmaktan mutluluk duyarız! Sadece yardım deposunda bir sorun açın.

Eklentinizi ekosistem listemize sunduktan sonra, kodunuzu inceleyeceğiz ve gerekirse geliştirmenize yardımcı olacağız.

Dokümantasyon

Dokümantasyon son derece önemlidir. Eklentiniz iyi belgelenmemişse, bunu ekosistem listesine kabul etmeyeceğiz. Kaliteli dokümantasyon eksikliği, insanların eklentinizi kullanmasını zorlaştırır ve muhtemelen kullanılmamasına neden olur.

::warning Eklentinizi nasıl belgeleriniz konusunda iyi örnekler görmek istiyorsanız, şu örneklere göz atın:

Lisans

Eklentinizi istediğiniz gibi lisanslayabilirsiniz, herhangi bir lisans türünü zorunlu kılmıyoruz.

Kodun serbestçe kullanılmasını sağladığı için MIT lisansını tercih ederiz. Alternatif lisanslar için OSI listesine veya GitHub'ın choosealicense.com sayfasına bakabilirsiniz.

Örnekler

Her zaman deposunda bir örnek dosyası bulundurun. Örnekler, kullanıcılar için çok yardımcıdır ve eklentinizi hızlı bir şekilde test etmenin kolay bir yolunu sunar. Kullanıcılarınız size minnettar olacaktır.

Test

Bir eklentinin düzgün çalıştığını doğrulamak için kapsamlı bir şekilde test edilmesi son derece önemlidir.

Test olmadan bir eklenti ekosistem listesine kabul edilmeyecektir. Test eksikliği güvenilirliği etkilemez ve kodun bağımlılıkları arasında çalışmaya devam edeceğini garanti etmez.

not

Herhangi bir test kütüphanesini zorunlu kılmıyoruz. node:test kullanıyoruz çünkü kutudan çıkan paralel test ve kod kapsamı sunar, ancak tercih ettiğiniz kütüphaneyi seçmek size bağlıdır. Eklentilerinizi nasıl test edeceğiniz hakkında daha fazla bilgi almak için Eklenti Testi belgesini okumanızı şiddetle öneririz.

Kod Linter

Zorunlu değildir, ancak eklentinizde bir kod linter kullanmanızı şiddetle öneririz. Kod stilinin tutarlı olmasını sağlar ve birçok hatayı önlemenize yardımcı olur.

standard kullanıyoruz çünkü yapılandırma gerektirmeden çalışır ve bir test paketine entegrasyonu oldukça kolaydır.

Sürekli Entegrasyon

Zorunlu değildir, ancak kodunuzu açık kaynak olarak sunduysanız, sürekli entegrasyonu kullanmak, katkıların eklentinizi bozmadığından emin olunmasına yardımcı olur ve eklentinin olduğu gibi çalıştığını gösterir. Hem CircleCI hem de GitHub Actions açık kaynak projeler için ücretsizdir ve kurulumu kolaydır.

Ayrıca, bağımlılıklarınızı güncel tutmanıza ve Fastify'ın yeni bir sürümünün eklentinizle bazı sorunları olup olmadığını keşfetmenize yardımcı olacak Dependabot gibi hizmetleri etkinleştirebilirsiniz.

Haydi başlayalım!

Harika, şimdi Fastify için iyi bir eklenti yazmak için bilmeniz gereken her şeye sahipsiniz! Bir (veya daha fazla!) eklenti oluşturdunuzdan sonra bize haber verin! Bunu belgelerimizin ekosistem bölümüne ekleyeceğiz!

Gerçek dünya örneklerini görmek istiyorsanız, inceleyin:

  • @fastify/view Şablonların işlenmesi (ejs, pug, handlebars, marko) için Fastify desteği.
  • @fastify/mongodb Fastify MongoDB bağlantı eklentisi, bununla her bölümde aynı MongoDB bağlantı havuzunu paylaşabilirsiniz.
  • @fastify/multipart Fastify için çok parçalı destek.
  • @fastify/helmet Fastify için önemli güvenlik başlıkları.