作为TypeScript开发人员,在处理.d.ts文件时,我已经习惯了"重复标识符"问题.
最近发生这种情况是因为我需要.d.tsAngular 2和Parse的两种类型(文件).
Angular 2不会分发他们的.d.ts文件DefinitelyTyped,所以我不得不通过NPM获取Angular 2,其中包括源文件.
现在,Parse的.d.ts文件来自DefinitelyTyped.很好 - 到目前为止,非常好.
之所以出现这个问题是因为这两个库都依赖于Node JS的类型.Parse的Node JS类型位于typings文件夹中,而Angular 2的Node JS类型位于下的子文件夹中node_modules/angular2.
这在编译时给了我大量的重复标识符问题.
.d.ts文件,以便它不会以某种方式重复吗?我正在尝试设置一个Angular 2应用程序来使用Microsoft的SignalR.我一直在关注这个教程,虽然它很好但我不喜欢jQuery和SignalR通过index.html文件中的脚本标签加载到应用程序中的事实,以及两个库都不使用它们各自的类型这一事实定义.
因此,考虑到这一点,我一直在尝试使用节点模块和相应的类型定义在我的应用程序中包含jQuery和SignalR.我搜索了正确的类型定义文件,以便通过Microsoft的TypeSearch使用.
我只在我的应用程序中包含jQuery,因为SignalR依赖于jQuery.
jQuery的
我首先开始在我的应用程序中安装jQuery模块,我必须在Webpack配置中添加它.在此之后,由于量角器,我面临着一个"冲突"问题.这在Aurelia JS Rocks的网站上有所描述.虽然它建议卸载量角器类型,但我尝试了另一种解决方案,现在在这个答案中描述.我不知道这是否是最佳解决方案.
SignalR
关于SignalR,我有点卡住了 - 到目前为止,似乎没有为SignalR提供"官方"节点模块.我不确定是否应该通过下载文件并将其包含在我的应用程序中来包含Microsoft的SignalR Javascript库.
问题是我已经安装了SignalR的类型定义.但是现在我不确定如何实际使用SignalR,因为当我输入$或者jQuery我没有被建议时.connections- 这是有意义的,因为这不是jQuery库的一部分.
我确信我可能会误解一些关于"设置"的问题.在Angular2 TypeScript应用程序中使用SignalR的最佳方法是什么?