【问题标题】:Extending a class from an npm package in TypeScript从 TypeScript 中的 npm 包中扩展一个类
【发布时间】:2018-09-22 16:11:38
【问题描述】:

我正在创建 2 个 npm 包,并用 typescript 编写它们:

我们称它们为“核心”和“模块” 在“核心”中,我在 index.ts 文件中导出了一个类。这只是一个简单的类

class Agent {}

在“模块”中,我导入了该类,并对其进行了扩展。我收到此错误:

import { Agent } from 'core';
class Extension extends Agent {}

"Type { ... } is not a constructor function type"

当我点击它时,它会将我带到它的编译版本,这是一个看起来很讨厌的功能。

有什么办法可以解决这个问题?

【问题讨论】:

  • 你能发布那个“讨厌的功能”吗?您的核心包中是否有声明文件(*.d.ts 文件)。如果你没有定义文件,TypeScript 将不知道 Agent 是什么
  • 讨厌的功能:pastebin.com/7BTWXzyr 我不知道这是否是一件好事,但我有一个 defs.ts 文件,我将所有这些文件导出为“类型”(我正在尝试事情解决了,但它似乎不起作用)
  • 不,我现在没有 *.d.ts 文件查看它。
  • 转译的函数看起来是正确的。我认为问题在于你没有一个定义文件来告诉 TypeScript。你能发布那个defs.ts 文件吗?
  • 谢谢你的帮助,因为我删除了declaration: true

标签: typescript npm


【解决方案1】:

因为我是菜鸟,我在compilerOptions中添加了allowJs: true,所以我不得不删除declaration: true。现在又是这样了。

感谢 Oscar Paz 在上面的评论中询问了这些 *.d.ts 文件。

【讨论】:

  • 我在想declaration: true,这就是我问你的原因。很高兴您解决了您的问题
猜你喜欢
  • 1970-01-01
  • 2016-10-21
  • 1970-01-01
  • 2015-06-02
  • 1970-01-01
  • 2018-05-17
  • 2018-06-20
  • 2022-11-25
  • 2015-08-10
相关资源
最近更新 更多