कोड जनरेटर

Blockly के ज़्यादातर ऐप्लिकेशन में इस्तेमाल करने के लिए, लोगों के प्रोग्राम को प्रोग्रामिंग भाषा में अनुवाद करना पड़ता है. यह कार्रवाई ब्लॉकली की मदद से, क्लाइंट साइड पर की जाती है.

कोड जनरेट किया जा रहा है

पहला कदम, बताई गई भाषा के लिए जनरेटर को शामिल करना है. ब्लॉकली में ये जनरेटर शामिल हैं:

  • JavaScript
  • Python
  • 129
  • Lua
  • डार्ट

जनरेटर को इंपोर्ट और इस्तेमाल करने के लिए, इनमें से किसी एक तरीके का इस्तेमाल किया जा सकता है.

मॉड्यूल

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);

ज़्यादा जानकारी के लिए, इवेंट देखें.