web-dev-qa-db-ja.com

エラーが発生するのはなぜですか:(45、1)TS2304:名前 'angular'が見つかりません。 WebStormで

TypeScriptから始めて、既存のAngularJSプロジェクトに追加しようとしています。

angularがインストールされているbowerディレクトリを「除外」し、設定ウィンドウでangularのdeflicityTyped定義をダウンロードしました。

Angularコードの補完は機能していますが、「angular。」をコーディングすると、TypeScriptでエラーTS2304が発生します。

私は何を逃しましたか?

7
kpg

エラーを修正するには、ダウンロードしたdeflicityTypedTypeScriptスタブを~/Library/Caches/WebStorm9/extLibsフォルダーからプロジェクトディレクトリにコピーし、/// <reference path>コメントを使用して.tsファイルで参照する必要があります。

/// <reference path="path/to/angular.d.ts" />

明確にするために:Preferences/Languages&Frameworks/Javascript/librariesを介してTypeScriptスタブをダウンロードすると、それらは~/Library/Caches/WebStorm9/extLibsに配置されます。 Webstormにはまったく問題ありません。ライブラリファイルをプロジェクトフォルダに直接配置する必要はありません。また、Webstorm自体は、型を解決するために///referenceコメントを必要としません。型が明示的に参照されていない場合でも、型のヒント/ナビゲーション/完了は機能します。ただし、tscコンパイラでは、d.tsファイルをプロジェクトディレクトリのどこかに配置し、///referenceコメントを介して参照する必要があります。したがって、ダウンロードしたスタブをTypeScriptコンパイラで利用できるようにするには、それらをプロジェクトディレクトリにコピー/移動し(おそらく、より人間が読める名前に名前を変更します:))、コメントを追加する必要があります('Generate reference path comment 'の意図を使用して実行できます(コメントを生成するには、参照でAlt + Enterを押します))。将来のバージョンでは、ファイルを(system/extLibs /ではなく)プロジェクトフォルダーに直接ダウンロードするオプションを提供する予定です。

12
lena

おそらく、問題のある特定の.tsファイルの.d.tsへの参照を追加する必要があります。

/// <reference path="../typings/angular.d.ts"/>
2
James Manning