@types,打字稿和webpack是如何相关的
要在.ts
文件中使用导出的types,必须添加导入
import {jQuery} from 'jQuery'
现在,当我使用这个我没有得到intellisense,我仍然需要做npm install @types\jQuery
来获得这个。
所以没有@types,上面的语句只是推断在打字稿捆绑包括这个文件。
现在,如果我安装@types,而不添加任何其他代码,我开始获得智能感知。
那么这就像上面的说法是双重目的。
在捆绑使用typescript / webpack,它告诉捆绑这些文件作为依赖和编译期间,它告诉包括.d.ts而不是实际的代码文件?
为什么这个问题:我试图将angular.whatever
移动到打字稿,我可以在.ts
文件中使用angular.whatever
甚至不导入它? 不明白为什么会发生这种情况。 它应该给我错误要求我导入angular
不知道我把你的问题100%,但我可以尝试解释一下。 JavaScript运行时不会有静态检查,只是在编译期间。 如果你告诉打字机你的variables/函数/等。 是“任何”types,那么它只会让你做任何事情。 最终生成的代码是相同的,无论是否检查。 如果在运行时没有相应的variables,将会出现错误。 types被用来“教”ts编译器关于静态编译的实际variablestypes。
所以在编译期间,任何地方都不会包含.d.ts,这只是用于静态types检查。
至于为什么你可以访问angular,我想这是因为d.ts包含定义,并通过使用@ types / angular让ts编译器知道它。
在这里检查。 .d.ts文件包含全局variablesangular,这就是为什么你可以在不导入的情况下使用它。
PS不知道100%,但似乎是这样的:
declare var angular: angular.IAngularStatic;
你可以尝试删除这一行,看看你是否得到你的错误:)
- 找不到模块:错误:无法parsing模块“fs”中
- 我怎样才能得到Visual Studio Typescript 1.7 intellisense与nodejs库(angular2,rxjs)?
- TS2304:无法在节点5.1.0,typescript 1.6.2,webstorm 11中find名称“Map”
- 部署打字稿NodeJS服务器
- Visual Studio 2013可以在NodeJs Web应用程序中debugging客户端JavaScript
- 如何configuration使用从PureScript编译的JavaScript模块的TypeScript项目?
- Angular 2 Login指令和location.createComponent
- 创buildPowerBI的自定义视觉时,无法在NodeJS中使用MomentJS
- 属性在函数的多个types的返回值上不存在