Eklentiler

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

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:

  1. 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';
    
  2. Gerekirse eklentiyi başlatın. Özel alan sağlayan eklentiler genellikle alanı kaydetmenizi gerektirir:

    registerFieldAngle();
    
  3. 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'
      },
    ]);
    

    360 derecelik bir kadrandan açı seçmek için kullanılan alan.

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.