Eklentiler, Blockly'ye işlev ekleyen bağımsız bir kod parçasıdır. Örneğin, özel bir alan ekleyebilir, yeni bir tema tanımlayabilir veya özel bir oluşturma aracı sağlayabilir. Eklentiler genellikle npm aracılığıyla paketlenir ve dağıtılır.
Eklentilere hızlı bir giriş için Eklentilere Genel Bakış (2021) başlıklı konuşmamıza göz atın.
Kendi eklentinizi oluşturmak istiyorsanız Eklenti ekleme başlıklı makaleyi inceleyin.
Birinci ve üçüncü taraf eklentileri
Birinci taraf eklentileri, Blockly ekibi tarafından desteklenir ve npm'de @blockly kapsamı altında yayınlanır. Bu bloklar, Blockly'nin geniş kapsamlı uygulamalarında kullanılabilecek şekilde tasarlanmıştır.
Üçüncü taraf eklentileri bağımsız olarak yönetilir ve yayınlanır. Bu uygulamalar daha karmaşık, daha deneysel veya daha dar bir Blockly uygulaması yelpazesini hedefliyor olabilir.
Eklenti bulma
Birinci taraf eklentilerinin canlı demolarının yer aldığı Blockly Eklentileri ve Demoları sayfasını ziyaret edin.
keyword:blockly-pluginiçin npm'de arama yapın.@blocklykapsamına sahip eklentiler Blockly ekibi tarafından yayınlanır. Daha geniş sonuçlar içinkeyword:blocklyveyablocklyaraması yapın.Birinci taraf eklentilerinin deposu olan GitHub'daki
blockly-samples/pluginsdizinindeki eklentilere göz atın. Her eklentinin, davranışını ve amaçlanan kullanımını açıklayan bir README dosyası vardır.
Eklenti yükleme
Eklentileri npm veya yarn gibi bir paket yöneticisiyle yüklemenizi öneririz. Bu sayede güncellemeleri kolayca alabilirsiniz.
Paket yöneticisi ile eklenti yükleme
npm
npm install @blockly/field-angleyumak
yarn add @blockly/field-anglePaket yöneticisi olmadan eklenti yükleme
unpkg
<script src="https://unpkg.com/@blockly/field-angle"></script>Eklentiyi içeren GitHub deposunu da klonlayabilirsiniz. Birinci taraf eklentileri için bu
blockly-samplesolur.
Ek kurulum talimatı olup olmadığını öğrenmek için eklentinin README dosyasını kontrol edin.
Eklenti kullanma
Her eklenti farklıdır. Bu nedenle, eklentinin nasıl kullanılacağı hakkında bilgi edinmek için eklentinin README dosyasını inceleyin. Aşağıdaki örnekte @blockly/field-angle eklentisinin nasıl kullanılacağı gösterilmektedir:
Eklentiden kodu içe aktarın. Bu işlemi nasıl yapacağınız, eklentiyi nasıl yüklediğinize bağlıdır.
npm veya yumak
import Blockly from 'blockly'; import {registerFieldAngle} from '@blockly/field-angle';unpkg
importifadesi kullanmanız gerekmez.Klonlanmış depo
import {registerFieldAngle} from 'path/to/plugin';Gerekirse eklentiyi başlatın. Özel alan sağlayan eklentiler genellikle alanı kaydetmenizi gerektirir:
registerFieldAngle();Eklentiyi kullanın.
Blockly.common.defineBlocksWithJsonArray([ { type: "my_angle_block", message0: "%1 degrees", args0: [ { // Use @blockly/field-angle. type: "field_angle", name: "FIELDNAME", value: 45, }, ], output: null, style: 'math_blocks' }, ]);
Eklenti sürümleri
blockly-samples içindeki eklentiler anlamsal sürümleme kullanır. Bu sürümleme, yeni bir ana sürümün kullanılması için önemli değişiklikler yapılmasını gerektirir. Temel yapıya yama uygulayan yeni eklentilerin ana sürümü 0 olur ve bu, ilk geliştirmeyi gösterir.
Çoğu eklenti, blockly paketini dependency yerine peerDependency olarak içerir. Bunun nedeni, Blockly'yi zaten yüklemiş olduğunuzu varsaymamızdır. (Blockly'yi kullanmadan eklenti kullanmak mantıklı değildir.) Bu, Blockly sürümünü kendiniz yönetmenize olanak tanır ancak gerekli olan minimum Blockly sürümünü belirlemek için eklentinin package.json dosyasını kontrol etmenizi de gerektirir. Bir eklenti, Blockly'nin daha yeni bir sürümünü gerektirecek şekilde güncellenirse bu, önemli bir değişiklik olarak kabul edilir ve eklentinin ana sürümü yükseltilir.
Uygulamanızın package.json bölümüne eklenti eklediğinizde varsayılan olarak sürümün önüne bir ok eklenir:
"dependencies": {
"@blockly/field-angle": "^5.0.12"
}
Bu, npm'nin listelenen sürüm veya daha yeni küçük sürümleri yüklemesine olanak tanır. Bu nedenle 5.0.20 veya 5.1.0 sürümü çalışır ancak 6.0.1 gibi yeni bir büyük sürüm çalışmaz. Blockly'nin yeni bir sürümüne güncellediğinizde, eklentilerinizden herhangi birinin yeni bir ana sürüme güncellenip güncellenemeyeceğini kontrol etmeniz önerilir.