You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blockly报错:Uncaught TypeError: buy_qty_block块定义无效求解

Blockly开发报错排查:Invalid block definition for type: buy_qty_block

问题场景

在Blockly开发中,配置了包含buy_qty_block的「Buy or Sell」分类块,但实例化该块时触发错误:Uncaught TypeError: Invalid block definition for type: buy_qty_block


分类配置文件

{
    kind: "category",
    name: "Buy or Sell",
    colour: 260,
    contents: [
    {
        kind: "block",
        type: "buy_qty_block",
    },
    {
        kind: "block",
        type: "sell_qty_block",
    }
    ],
},

buy_qty_block定义代码

Blockly.Blocks["buy_qty_block"] = {
    init: function () {
      this.jsonInit({
        type: "buy_qty_block",
        message0: "Buy %1 ",
        args0: [
          {
            type: "field_number",
            name: "BUY_AMOUNT",
          },
          // , {
          //   "type": "input_dummy",
          //   "name": "ASSETSLIST",
          // }
        ],
        message1: "%1 ",
        args1: [
          {
            type: "input_dummy",
            name: "ASSETSLIST",
          },
        ],
        previousStatement: true,
        nextStatement: "Action",
        extensions: ["assets_list_extension"],
      });
    },
  };

错误栈信息

block.ts:264 Uncaught TypeError: Invalid block definition for type: buy_qty_block
      at new n (block.ts:264:15)
      at a.<anonymous> (createSuper.js:11:24)
      at new a (block_svg.ts:155:5)
      at ah.newBlock (blockly.ts:564:14)
      at Ya (blocks.ts:404:27)
      at Oa (blocks.ts:361:17)
      at wa (blocks.ts:325:10)
      at t.value (flyout_base.ts:761:24)
      at t.value (flyout_base.ts:669:30)
      at t.value (flyout_base.ts:604:29)

排查与解决方法

  • 检查加载顺序:确保buy_qty_block的定义代码在Blockly初始化、分类配置加载之前执行。如果配置先加载,Blockly找不到对应定义就会报错。
  • 验证扩展存在性:块定义中使用了assets_list_extension,若该扩展未定义或未正确加载,会导致块定义无效。可以先注释掉extensions: ["assets_list_extension"]测试,若错误消失,需先实现或加载该扩展。
  • 检查语法与配置匹配:确认message0/args0、message1/args1的占位符与参数数量匹配;检查nextStatement的"Action"是否为已注册的合法语句类型。
  • 核对类型名称一致性:确保配置文件、块定义、jsonInit中的buy_qty_block名称完全一致,无大小写或拼写错误。

内容的提问来源于stack exchange,提问作者soubhagya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 16:15:41