【发布时间】:2017-11-14 15:32:38
【问题描述】:
在TypeScript中使用接口似乎有两种方式:我可以在普通的.ts文件中定义它们并导入它们,或者我可以在.d.ts文件中定义它们并让编译器从node_modules/中自动发现它们@types 或通过在 tsconfig.json 中添加 typeRoots 的相关路径,它们变得“神奇地”随处可用。
目前我有两个项目:一个客户端 (React) 和一个服务器 (Express),它们都是用 TypeScript 编写的。我在两个项目中都有某些接口,为了避免项目之间的依赖关系,我将公共接口提取到一个单独的项目到声明文件中。然后我以这种方式将项目添加为开发依赖项:
"@types/my-definitions": "git+ssh://git@github.com/myaccount/my-definitions.git"
这样TypeScript编译器会自动从node_modules/@types中找到接口,我就不用导入接口了。
我的问题是,这是一个好习惯,还是我应该在普通的 .ts 文件中使用接口,将项目作为普通依赖项导入并显式导入我正在使用的接口?每种方法的优缺点是什么?
【问题讨论】:
标签: typescript typescript-typings