【问题标题】:How to manage your own TypeScript declaration files across projects如何跨项目管理自己的 TypeScript 声明文件
【发布时间】:2015-11-20 07:03:51
【问题描述】:

我有一个资产/CDN 项目,其中包含我自己的和第三方库,如 JQuery。我自己的脚本是用 TypeScript 编写的。所有这些文件都在大约五个不同的项目中被引用。

如果我想在资源项目中引用一些 TypeScript 的五个项目之一中编写一些 TypeScript,我手动生成并复制到声明文件中。

对于管理此流程的更好方法,您有什么建议?

我正在使用 Grunt 来运行 TypeScript 编译器。我可以使用“声明”选项运行它,但这不会让我将所有声明放在一个单独的文件夹中,以便其他项目“收集”。

我查看了 TS Project 和 DTS Bundle,但它们似乎不太灵活,我担心随着 TypeScript 朝着另一个方向发展,我以后必须切换到其他东西。另外,我不热衷于单文件方法。但我并没有完全排除它们。

【问题讨论】:

    标签: build typescript


    【解决方案1】:

    我写了typings,其明确目标是在 TypeScript (https://github.com/typings/typings) 中解决定义文件。很难说它是否能满足您的要求,因为我不知道您如何使用您拥有的其他项目。如果您希望能够使用依赖项并将其打包到其他项目的依赖项中,而无需进行单个“声明”生成步骤并且没有冲突,那么可能值得尝试一下。

    目前唯一的开销是必须将 DefinitiveTyped 转换为外部模块声明,因为它们不兼容。

    【讨论】:

    • 感谢您的回复。 Typings 是否仅适用于外部模块?我没有使用外部模块。资产/CDN 中的依赖项仅在正在加载的页面中引用。
    • @moefinley 这将被视为“环境模块”,因为您正在定义环境而不是模块。您可以在此处使用它,只需指向您要使用的 .d.ts 文件。不过,它不会自动成为typings 中的依赖项,因为它在运行时也不是这样工作的。例如,github.com/blakeembrey/popsicle/blob/master/typings.json#L6-L7
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 2021-03-25
    • 2019-04-18
    • 2019-03-04
    • 2020-07-30
    • 2020-11-22
    相关资源
    最近更新 更多