プラグインは、Blockly に機能を追加する自己完結型のコードです。たとえば、カスタム フィールドの追加、新しいテーマの定義、カスタム レンダラのプロビジョニングなどです。プラグインは通常、npm でパッケージ化され、配布されます。
プラグインの概要については、プラグインの概要(2021)をご覧ください。
独自のプラグインを作成する場合は、プラグインを追加するをご覧ください。
ファーストパーティ プラグインとサードパーティ プラグイン
ファーストパーティ プラグインは Blockly チームによってサポートされており、npm の @blockly
スコープで公開されています。これらは、さまざまな Blockly アプリケーションで使用できるように設計されています。
サードパーティ製プラグインは、独立してメンテナンスおよび公開されています。より複雑な機能や試験運用版の機能、またはより限定的な範囲の Blockly アプリケーションを対象とする機能が含まれる場合があります。
プラグインを探す
Blockly プラグインとデモをご覧ください。自社プラグインのライブデモをご覧いただけます。
npm で
keyword:blockly-plugin
を検索します。スコープが@blockly
のプラグインは、Blockly チームによって公開されます。より幅広い結果を表示するには、keyword:blockly
またはblockly
を検索します。GitHub の
blockly-samples/plugins
ディレクトリ(ファーストパーティ プラグインのリポジトリ)をご覧ください。各プラグインには、動作と目的を説明する README があります。
プラグインをインストールする
npm や yarn などのパッケージ マネージャーを使用してプラグインをインストールすることをおすすめします。これにより、最新情報を簡単に受け取ることができます。
パッケージ マネージャーを使用してプラグインをインストールする
npm
npm install @blockly/field-angle
毛糸
yarn add @blockly/field-angle
パッケージ マネージャーを使用せずにプラグインをインストールする
unpkg
<script src="https://unpkg.com/@blockly/field-angle"></script>
プラグインを含む GitHub リポジトリのクローンを作成することもできます。ファーストパーティ プラグインの場合は
blockly-samples
です。
プラグインの README で、追加のインストール手順が記載されていないか確認します。
プラグインを使用する
プラグインごとに異なるため、プラグインの README でそのプラグインの使用方法を確認してください。次の例は、@blockly/field-angle
プラグインの使用方法を示しています。
プラグインからコードをインポートします。方法は、プラグインのインストール方法によって異なります。
npm または yarn
import Blockly from 'blockly'; import {registerFieldAngle} from '@blockly/field-angle';
unpkg
import
ステートメントを使用する必要はありません。クローンを作成したリポジトリ
import {registerFieldAngle} from 'path/to/plugin';
必要に応じてプラグインを初期化します。カスタム フィールドを提供するプラグインでは、多くの場合、フィールドを登録する必要があります。
registerFieldAngle();
プラグインを使用します。
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' }, ]);
プラグインのバージョン
blockly-samples
のプラグインはセマンティック バージョニングを使用します。この場合、新しいメジャー バージョンを使用するには互換性のない変更が必要になります。コアにモンキー パッチを適用する新しいプラグインには、初期開発を示すメジャー バージョン 0 が付与されます。
ほとんどのプラグインでは、blockly
パッケージは dependency
ではなく peerDependency
として含まれています。これは、Blockly がすでにインストールされていることを前提としているためです。(Blockly を使用せずにプラグインを使用する意味はありません)。これにより、Blockly のバージョンを自分で管理できますが、プラグインの package.json
を確認して、必要な Blockly の最小バージョンを判断する必要があります。プラグインが更新され、新しいバージョンの Blockly が必要になった場合は、互換性を破る変更と見なされ、メジャー バージョンが引き上げられます。
アプリケーションの package.json
にプラグインを追加すると、デフォルトでバージョンの前にキャレットが追加されます。
"dependencies": {
"@blockly/field-angle": "^5.0.12"
}
これにより、npm はリスト内のバージョン以上のマイナー バージョンをインストールできるようになります。そのため、バージョン 5.0.20
または 5.1.0
は機能しますが、6.0.1
などの新しいメジャー バージョンは機能しません。Blockly の新しいバージョンに更新するときは、プラグインを新しいメジャー バージョンに更新できるかどうかを確認することをおすすめします。