如何添加自定义 TypeScript 全局接口
Posted
技术标签:
【中文标题】如何添加自定义 TypeScript 全局接口【英文标题】:How to add custom TypeScript Global Interfaces 【发布时间】:2015-10-11 16:30:31 【问题描述】:我在整个 CommonJS 结构化打字稿项目中使用了几个接口。我想创建一个名为“interfaces.ts”的全局文件......而不是必须导入接口或在每个 .ts 文件(样板文件)中添加引用,有没有办法全局声明它,也许在 tsconfig .json 文件?
我知道有一个名为 lib.d.ts 的全局定义文件,它基本上是全局声明的接口。我意识到我可能可以修改这个文件,但正在寻找更好的方法(抽象)。
编辑:我可能应该注意到我目前正在使用 Visual Studio Code。
【问题讨论】:
【参考方案1】:这就是tsconfig.json
默认的工作方式。在项目的根目录中创建一个tsconfig.json
,而不使用“files”属性。您可能需要重新启动 VS Code 才能识别 tsconfig.json
。
如果 tsconfig.json 中没有“文件”属性,编译器默认包含包含目录和子目录的所有文件。指定“文件”属性时,仅包含这些文件。
https://github.com/Microsoft/TypeScript/pull/1692
【讨论】:
啊,我明白了……我所要做的就是在定义接口时删除“导出”,现在 VSCode 将其视为全局。谢谢。【参考方案2】:。我意识到我可能可以修改这个文件,但正在寻找更好的方法(抽象)
有一个名为globals.d.ts
的文件。此模式记录在此:http://basarat.gitbooks.io/typescript/content/docs/project/globals.html
【讨论】:
过去 3 天我读了你的书!非常令人印象深刻!我也一直在阅读您的 Typescript Collections 项目(似乎无法找到在线文档)。 'global.d.ts' 这个名字对 TypeScript 来说是特殊的吗?与使用即interfaces.d.ts有什么区别吗?谢谢 没有。名字没什么特别的。只是一个约定 我注意到您没有记录如何在用户定义的 global.d.ts 文件中正确连接。能详细点吗?以上是关于如何添加自定义 TypeScript 全局接口的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在 TypeScript 中为非全局接口创建扩展方法?