आपका ऐप्लिकेशन किसी भी समय कोड जनरेट कर सकता है. उदाहरण के लिए, जब कोई उपयोगकर्ता किसी बटन पर क्लिक करता है या कोई बदलाव करता है, तो यह कोड जनरेट कर सकता है.
कोड जनरेशन के बारे में खास जानकारी के लिए, कोड जनरेशन देखें.
भाषा कोड जनरेटर इंपोर्ट करना
कोड जनरेट करने के लिए, आपको भाषा कोड जनरेटर की ज़रूरत होगी. भाषा के कोड जनरेटर को इनमें से किसी भी तरीके से इंपोर्ट किया जा सकता है.
मॉड्यूल
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';
// Generate code for all the blocks in the workspace.
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);
Unpkg
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>
// Generate code for all the blocks in the workspace.
const jsCode = javascript.javascriptGenerator.workspaceToCode(workspace);
const pythonCode = python.pythonGenerator.workspaceToCode(workspace);
const phpCode = php.phpGenerator.workspaceToCode(workspace);
const luaCode = lua.luaGenerator.workspaceToCode(workspace);
const dartCode = dart.dartGenerator.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>
// Generate code for all the blocks in the workspace.
const jsCode = javascript.javascriptGenerator.workspaceToCode(workspace);
const pythonCode = python.pythonGenerator.workspaceToCode(workspace);
const phpCode = php.phpGenerator.workspaceToCode(workspace);
const luaCode = lua.luaGenerator.workspaceToCode(workspace);
const dartCode = dart.dartGenerator.workspaceToCode(workspace);
कोड जनरेट करें
कोड जनरेट करने के लिए, जनरेटर के workspaceToCode
फ़ंक्शन का इस्तेमाल करें.
const code = javascriptGenerator.workspaceToCode(workspace);
लगातार अपडेट
लगातार अपडेट होने की सुविधा की मदद से, उपयोगकर्ता के बदलाव करने पर कोड को दिखाया या चलाया जा सकता है. कोड जनरेट करने की प्रोसेस तेज़ी से होती है. इसलिए, ऐसा करने से परफ़ॉर्मेंस पर ज़्यादा असर नहीं पड़ता. ऐसा करने के लिए, इवेंट लिसनर का इस्तेमाल किया जाता है.
const supportedEvents = new Set([
Blockly.Events.BLOCK_CHANGE,
Blockly.Events.BLOCK_CREATE,
Blockly.Events.BLOCK_DELETE,
Blockly.Events.BLOCK_MOVE,
]);
function updateCode(event) {
if (workspace.isDragging()) return; // Don't update while changes are happening.
if (!supportedEvents.has(event.type)) return;
const code = javascriptGenerator.workspaceToCode(workspace);
document.getElementById('textarea').value = code;
}
workspace.addChangeListener(updateCode);
प्रीऐबल या पोस्टस्क्रिप्ट कोड जोड़ना
कोड जनरेट करने के बाद, आपके पास जनरेट किए गए कोड के शुरू होने से पहले या खत्म होने के बाद कोड शामिल करने का विकल्प होता है.
let code = javascriptGenerator.workspaceToCode(workspace);
// Add a preamble and a postscript to the code.
const preamble = 'import {MyLibrary} from \'/path/to/my/library\';\n'
const postscript = 'MyLibrary.myKickoffFunction();\n';
code = preamble + code + postscript;
आम तौर पर, प्रीऐबल कोड का इस्तेमाल, कोड की शुरुआत में बाहरी परिभाषाएं शामिल करने के लिए किया जाता है. पोस्टस्क्रिप्ट कोड का इस्तेमाल, आम तौर पर कोड के आखिर में कोई कार्रवाई शुरू करने के लिए, फ़ंक्शन को कॉल करने के लिए किया जाता है.
अगर जनरेट किया गया कोड, जैसा है वैसा ही चल सकता है, तो इसमें कोई प्रीऐबल या पोस्टस्क्रिप्ट शामिल करने की ज़रूरत नहीं है.
कोड चलाना
कोड जनरेट करने के बाद, आपको यह तय करना होगा कि उसे कैसे लागू किया जाए. इसे लागू करने का तरीका, ऐप्लिकेशन के हिसाब से तय किया जाता है. यह Blockly के दायरे से बाहर है.
अगर आपको JavaScript कोड चलाना है, तो JavaScript कोड जनरेट और चलाना लेख पढ़ें. इस लेख में, JavaScript कोड जनरेटर की कुछ खास सुविधाओं के साथ-साथ JSInterpreter के बारे में बताया गया है. Blockly टीम, JavaScript को सुरक्षित तरीके से चलाने के लिए इसका सुझाव देती है.
अन्य भाषाओं के लिए, दूसरे टूल की ज़रूरत होती है.