Typescript如何将我们导入的类型定义与相应的实现联系起来?
当我们使用库typedefinition(.d.ts)文件时,typescript如何将我们导入的内容的定义与相应的类型相关联 例如,如果我们:Typescript如何将我们导入的类型定义与相应的实现联系起来?,typescript,ecmascript-6,typescript2.2,Typescript,Ecmascript 6,Typescript2.2,当我们使用库typedefinition(.d.ts)文件时,typescript如何将我们导入的内容的定义与相应的类型相关联 例如,如果我们: npm install @types/chai @types/mocha --save-dev 然后在bar.spec.js中: import { expect } from 'chai'; Typescript现在可以理解expect的类型化外观了吗?这需要经过什么过程 在我看来,类型定义相当复杂,有着漫长的进化历史 在这种情况下,node\u
npm install @types/chai @types/mocha --save-dev
然后在bar.spec.js
中:
import { expect } from 'chai';
Typescript现在可以理解
expect
的类型化外观了吗?这需要经过什么过程 在我看来,类型定义相当复杂,有着漫长的进化历史
在这种情况下,node\u modules/@types
是一种内置的“类型根”,因此TS知道何时导入非相对模块(例如“chai”
是非相对的,“/chai”
是相对的),以便在node\u modules/@types
中查找定义以进行解析。例如,来自“chai”的
导致TS查找定义的节点\模块/@types/chai/index.d.TS
。这就是TS如何知道您可以从该模块导入哪些内容以及这些内容的外观
你可以阅读更多关于
.d.ts
文件的编写方式可能很难理解(特别是因为大多数已发布的库都是同时发布的),但简而言之,它包含一个类型的成员。这就是TS如何知道从“chai”导入{expect}是什么
同样值得一提的是,柴目前的定义似乎并不完全符合标准。然而,这并没有使它们在任何方面不兼容。在我看来,类型定义相当复杂,有着漫长的进化历史 在这种情况下,
node\u modules/@types
是一种内置的“类型根”,因此TS知道何时导入非相对模块(例如“chai”
是非相对的,“/chai”
是相对的),以便在node\u modules/@types
中查找定义以进行解析。例如,来自“chai”的
导致TS查找定义的节点\模块/@types/chai/index.d.TS
。这就是TS如何知道您可以从该模块导入哪些内容以及这些内容的外观
你可以阅读更多关于
.d.ts
文件的编写方式可能很难理解(特别是因为大多数已发布的库都是同时发布的),但简而言之,它包含一个类型的成员。这就是TS如何知道从“chai”导入{expect}是什么
同样值得一提的是,柴目前的定义似乎并不完全符合标准。不过,这并没有使它们在任何方面不兼容