【问题标题】:Iam getting-TypeError: Class extends value undefined is not a constructor or nullIam getting-TypeError: Class extends value undefined is not a constructor or null
【发布时间】:2020-02-12 00:51:06
【问题描述】:

我正在使用 Microsoft bot 框架创建一个机器人,该框架必须与 MS Teams 集成。当我扩展 TeamsActivityHandler 类以覆盖时,我收到以下错误-TypeError: Class extends value undefined is not a constructor or null 在编译代码时onmessage 方法。

该代码在 ActivityHandler 类中运行良好。

下面的代码会报错

const { TeamsActivityHandler} = require('botbuilder');

class mybot extends TeamsActivityHandler {
    constructor() {
        super();
    }
    bunch of other codes here.
}

下面这个可以正常工作

const { ActivityHandler} = require('botbuilder');

class mybot extends ActivityHandler {
    constructor() {
        super();
    }
    bunch of other codes here.
}

【问题讨论】:

  • 我不是很用Node,所以这只是一个建议,但是“TeamsActivityHandler”是很新的,所以检查一下你使用的是什么版本的“botbuilder”
  • 我用 botbuilder-teams 包升级了 botbuilder 版本,问题仍然存在。
  • 请提供抛出的错误
  • 嗨 Mox,抛出错误 -TypeError: Class extends value undefined is not a constructor or null
  • @SreeNath,我相信这是因为没有被导出的名为TeamsActivityHandler 的对象。您可能想在node_modules 中检查您的botbuilder 代码

标签: node.js botframework microsoft-teams


【解决方案1】:

希尔顿是正确的,TeamsActivityHandler 是新的(4.6.0+ 就像 Trinetra 说的那样),我会看看你的包。

除了较小的依赖项和各种包之外,使用 TeamsActivityHanlder 的机器人还需要以下内容:

机器人构建器

botbuilder-核心

botframework 连接器

botframework-schema

其中大部分是作为依赖项安装的,所以如果你npm install botbuilder,你会抓住其余的。

您会注意到“Botbuilder-teams”不在该列表中。 Botbuilder-teams 已弃用 here 我从您的评论中看到您说您已经更新了该软件包。如果您正在学习使用它的教程或示例,那么您使用的是过时的资源。请查看 Trinetra-MSFT 引用的 Botframework 存储库中基于 Teams 的示例。

【讨论】:

  • 如果我的回答解决了您的问题,请选择is作为正确答案,以便未来的社区成员从中受益。谢谢!
猜你喜欢
  • 2018-07-14
  • 2020-08-27
  • 2022-01-09
  • 1970-01-01
  • 2021-10-20
  • 2022-12-02
  • 2021-11-02
  • 2022-12-20
  • 2017-08-27
相关资源
最近更新 更多