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-plugin
için npm'de arama yapın.@blockly
kapsamına sahip eklentiler Blockly ekibi tarafından yayınlanır. Daha geniş sonuçlar içinkeyword:blockly
veyablockly
araması yapın.Birinci taraf eklentilerinin deposu olan GitHub'daki
blockly-samples/plugins
dizinindeki 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-angle
yumak
yarn add @blockly/field-angle
Paket 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-samples
olur.
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
import
ifadesi 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.