المكوّن الإضافي هو قطعة من التعليمات البرمجية المكتفية ذاتيًا تضيف وظائف إلى Blockly. على سبيل المثال، قد يضيف حقلًا مخصّصًا أو يحدّد موضوعًا جديدًا أو يقدّم معالج عرض مخصّصًا. يتم عادةً تجميع المكونات الإضافية وتوزيعها من خلال npm.
للحصول على مقدّمة سريعة عن الإضافات، يمكنك الاطّلاع على مقدّمة عن الإضافات (2021).
إذا أردت إنشاء مكوّن إضافي خاص بك، اطّلِع على مقالة إضافة مكوّن إضافي.
الإضافات التابعة للطرف الأول والجهات الخارجية
يتيح فريق Blockly استخدام مكوّنات إضافية تابعة للطرف الأول ويتم نشرها ضمن نطاق
@blockly
على npm. وهي مصمّمة بحيث يمكن استخدامها في مجموعة كبيرة من
تطبيقات Blockly.
يتم الاحتفاظ بـ الإضافات التابعة لجهات خارجية ونشرها بشكل مستقل. وقد تكون أكثر تعقيدًا أو تجريبية أو مخصّصة لمجموعة محدودة من تطبيقات Blockly.
العثور على مكوّن إضافي
انتقِل إلى مكوّنات Blockly الإضافية ومقاييس الأداء التي تتضمّن عروضًا توضيحية مباشرةً ومقاييس أداء لمكوّنات الطرف الأول الإضافية.
ابحث في npm عن
keyword:blockly-plugin
. ينشر فريق Blockly الإضافات التي لها النطاق@blockly
. للحصول على نتائج أوسع نطاقًا، ابحث عنkeyword:blockly
أوblockly
.يمكنك الاطّلاع على
blockly-samples/plugins
الدليل على GitHub، وهو مستودع الإضافات التابعة للجهات الخارجية. يحتوي كل مكوّن إضافي على ملف ملف README.txt يصف سلوكه واستخدامه المقصود.
تثبيت مكوّن إضافي
ننصحك بتثبيت المكوّنات الإضافية باستخدام أداة إدارة حِزم مثل 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
التصنيف الدلالي للإصدارات،
ما يتطلّب إجراء تغييرات جذرية لاستخدام إصدار رئيسي جديد. أيّ مكوّن إضافي جديد يُعدّل رمز Monkey Core الأساسي سيكون له إصدار رئيسي 0 للإشارة إلى مرحلة التطوير
الأولية.
تتضمّن معظم المكونات الإضافية حزمة blockly
كملف
peerDependency
بدلاً من ملف dependency
. ويرجع ذلك إلى أنّنا نفترض أنّك سبق أن
ثبّت تطبيق 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، من الأفضل التحقّق مما إذا كان بإمكانك تحديث
أي من المكوّنات الإضافية إلى إصدار رئيسي جديد أيضًا.