为什么Blockly不为自定义块生成代码?

问题描述

在为块自定义生成代码时,我遇到了错误

Error: Language "Python" does not kNow how to generate  code for block type "import_block".

登录控制台时。

以下是用于块创建的代码

Blockly.Blocks['import_block'] = {
      init: function() {
        this.appendDummyinput()
            .appendField("import")
            .appendField(new Blockly.FieldTextInput("default"),"import_name");   
        this.setoutput(true,null);
        this.setColour(230);
     this.setTooltip("");
     this.setHelpUrl("");
      }
    };

代码生成代码

    let code = (Blockly as any).Python.workspacetoCode(Blockly.mainWorkspace);
    console.log(code);

该块在UI中可见。 此外,还会为块中存在的认块生成代码,但会显示自定义块的错误

有人可以帮我吗

解决方法

由于您没有展示您为实际将块转换为代码而编写的代码,因此我只能假设它丢失了。通常你会做类似的事情

Blockly.Python["import_block"] = function (block) {
    return "<your code>";
}

看看official docs

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...