【问题标题】:how to generate the javascript code in blockly如何在 blockly 中生成 javascript 代码
【发布时间】:2017-10-04 10:56:18
【问题描述】:

我想为我的 blockly 生成 javascript,它没有任何输入。我从生成器存根中获得了 Javascript 函数,但它需要将 javascript 代码组装成 var code 变量,而我没有得到。 我已经试过了:

var code = Blockly.JavaScript.workspaceToCode(workspace);

但它显示代码未定义。

我收到此错误:

Cannot read property 'call' of undefined at Blockly.Generator.blockToCode (blockly_compressed.js:1572) at Blockly.Generator.workspaceToCode (blockly_compressed.js:1570)

你能帮我看看如何生成 javascript 代码并组装它吗?

【问题讨论】:

    标签: blockly


    【解决方案1】:

    这是生成 JS 代码并运行它的方法:

      <script>
        var workspace = Blockly.inject('blocklyDiv',
            {media: '../../media/',
             toolbox: document.getElementById('toolbox')});
        Blockly.Xml.domToWorkspace(document.getElementById('startBlocks'),
                                   workspace);
    
        // Generate JavaScript code and display it.
        function showCode() {
          Blockly.JavaScript.INFINITE_LOOP_TRAP = null;
          var code = Blockly.JavaScript.workspaceToCode(workspace);
          alert(code);
        }
    
        // Generate JavaScript code and run it.
        function runCode() {
          window.LoopTrap = 1000;
          Blockly.JavaScript.INFINITE_LOOP_TRAP =
              'if (--window.LoopTrap == 0) throw "Infinite loop.";\n';
          var code = Blockly.JavaScript.workspaceToCode(workspace);
          Blockly.JavaScript.INFINITE_LOOP_TRAP = null;
          try {
            eval(code);
          } catch (e) {
            alert(e);
          }
        }
      </script>
    

    【讨论】:

    • 无法读取 Blockly.Generator.blockToCode (blockly_compressed.js:1572) 在 Blockly.Generator.workspaceToCode (blockly_compressed.js:1570) 中未定义的属性“调用”
    • 您是否包含所有必要的 .js 文件?
    • 你在中添加了,但是.js文件的位置不正确。因此,它找不到它,并且无法执行“...blockToCode”和“...workspaceToCode”!
    • 不,它还没有解决我的问题。我将 blockly_compressed.js 放在正确的位置,因为它在单击后找到了路径。另外,我在一开始就加载这个文件。但我仍然遇到同样的错误。
    猜你喜欢
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多