【问题标题】:TypeScript protected and npm packageTypeScript 保护和 npm 包
【发布时间】:2017-06-09 13:32:05
【问题描述】:

我目前正在使用 webpack 1.14 构建一个内部 TypeScript“库”。
为此,我创建了一个 npm 包并将其发布到私人订阅源。一切都像魅力一样工作(我可以在安装包的其他“项目”中使用库中的类和接口)。

我唯一苦苦挣扎的是库中类的受保护成员。 当消费项目中的类从库中扩展类时,它不能使用受保护的父成员。令人困惑的部分是自动完成“看到”受保护的成员,但我在编译期间收到此错误。 error TS2339: Property 'apply' does not exist on type 'SitesRollup'

typescript protected keyword documentation 没有说明受保护的成员仅限于当前模块,所以我假设它应该可以正常工作。

我的问题是:受保护的成员是否应该在从不同模块扩展/继承类时可见?

【问题讨论】:

    标签: typescript npm webpack


    【解决方案1】:

    终于找到问题出在哪里了。整体类型映射无法正常工作。这是因为两个原因:
    首先我在 package.json 文件 "types": "dist/src/index.d.ts", 中缺少这一行,从而使 tsc(和我的编辑器)能够正确定位库的类型。
    第二我的库没有正确发出输入,修复了在我的tsconfig.json 文件中将"declaration": true, 添加到我的complierOptions 的问题。
    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2019-01-04
      • 1970-01-01
      • 1970-01-01
      • 2016-10-26
      • 2018-08-07
      • 2017-08-04
      • 2018-08-11
      • 2018-01-07
      • 2020-02-01
      相关资源
      最近更新 更多