مولدات الرموز

تتطلّب معظم تطبيقات Blockly ترجمة برنامج المستخدم إلى لغة برمجة. ويتم تنفيذ هذا الإجراء من جهة العميل عن طريق Blockly.

جارٍ إنشاء الرمز

الخطوة الأولى هي تضمين منشئ اللغة المعنية. يشتمل بشكل الحظر على أدوات الإنشاء التالية:

  • JavaScript
  • لغة Python
  • ‫2,999
  • Lua
  • Dart

يمكنك استيراد أدوات الإنشاء واستخدامها باستخدام إحدى الطرق التالية.

الوحدات

import {javascriptGenerator} from 'blockly/javascript';
import {pythonGenerator} from 'blockly/python';
import {phpGenerator} from 'blockly/php';
import {luaGenerator} from 'blockly/lua';
import {dartGenerator} from 'blockly/dart';

const jsCode = javascriptGenerator.workspaceToCode(workspace);
const pythonCode = pythonGenerator.workspaceToCode(workspace);
const phpCode = phpGenerator.workspaceToCode(workspace);
const luaCode = luaGenerator.workspaceToCode(workspace);
const dartCode = dartGenerator.workspaceToCode(workspace);

إلغاء حزم البيانات

يجب تضمين المنشئ بعد تضمين Blockly.

<script src="https://unpkg.com/blockly"></script>
<script src="https://unpkg.com/blockly/javascript_compressed"></script>
<script src="https://unpkg.com/blockly/python_compressed"></script>
<script src="https://unpkg.com/blockly/php_compressed"></script>
<script src="https://unpkg.com/blockly/lua_compressed"></script>
<script src="https://unpkg.com/blockly/dart_compressed"></script>
const jsCode = javascript.workspaceToCode(workspace);
const pythonCode = python.workspaceToCode(workspace);
const phpCode = php.workspaceToCode(workspace);
const luaCode = luna.workspaceToCode(workspace);
const dartCode = dart.workspaceToCode(workspace);

النصوص البرمجية المحلية

يجب تضمين المنشئ بعد تضمين Blockly.

<script src="blockly_compressed.js"></script>
<script src="javascript_compressed.js"></script>
<script src="python_compressed.js"></script>
<script src="php_compressed.js"></script>
<script src="lua_compressed.js"></script>
<script src="dart_compressed.js"></script>
const jsCode = javascript.workspaceToCode(workspace);
const pythonCode = python.workspaceToCode(workspace);
const phpCode = php.workspaceToCode(workspace);
const luaCode = lua.workspaceToCode(workspace);
const dartCode = dart.workspaceToCode(workspace);

إنشاء المحتوى في الوقت الفعلي

عملية إنشاء الرمز هي عملية سريعة للغاية، لذلك ليس هناك أي ضرر في استدعاء هذه الوظيفة بشكل متكرر. تتمثّل الإستراتيجيات الشائعة في إنشاء الرمز وعرضه في الوقت الفعلي من خلال إضافة مستمع إلى حدث تغيير Blockly:

import {javascriptGenerator} from 'blockly/javascript';
function updateCode(event) {
  const code = javascriptGenerator.workspaceToCode(workspace);
  document.getElementById('textarea').value = code;
}
workspace.addChangeListener(updateCode);

يمكنك الاطلاع على الأحداث للحصول على مزيد من المعلومات.