[英]VS2015 build of TypeScript gives “TS2304:Build cannot find angular” error despite presence of angular.d.ts file
我是TypeScript的新手,在構建使用AngularJS框架和Toastr庫的第一個VS2015解決方案時遇到了一些問題。
VS2015是在Windows 10專業版下運行的RTM版本。 TypeScript是版本1.6.2。 Angular是1.5.0-beta.2版本
嘗試在我的TypeScript文件中引用angular或toastr時,盡管已從Definitely Typed中安裝了適當的d.ts文件,但嘗試構建新項目時,生成“ TS2304:生成找不到名稱“ angular””(或“ toastr”)錯誤。
角度庫定義文件angular.d.ts位於名為angularjs的子目錄中的types目錄下,並包括以下行:
declare var angular: angular.IAngularStatic;
在tsd.json文件中,我看到以下內容:
"installed": {
"angularjs/angular.d.ts": {
"commit": "e48f0c7a0a5f9e9d35e9cfd7506461bab435cb49"
},
我最初在使用Resharper 10時遇到錯誤,但已將其暫停以將其從可能的原因中消除,但是即使在禁用Resharper的情況下嘗試構建時,也會出現TS2304錯誤。
我錯過了什么? 如何獲得TypeScript識別兩個已安裝的類型定義文件,以便成功構建項目?
我通過在TypeScript源文件的頂部添加以下行來解決此問題:
/// <reference path="../../../../../typings/angularjs/angular.d.ts"/>
我用來學習TypeScript的Pluralsight“ TypeScript和AngularJS”課程根本沒有提到此“注釋”命令(我通過搜索與WebStorm問題相同的問題來發現它)。 我以為tsd.json中的引用應該足以讓TypeScript編譯器找到適當的類型規范描述,但顯然不行! 該課程確實為IDE假定使用VS Code而不是VS2015,所以這可能是問題所在嗎?
您確定您的html中包含了angular.js嗎? 聲明var angular意味着從任何ts文件外部創建了角度變量,並且d.ts用於從打字稿中輸入角度變量具有的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.