web-dev-qa-db-ja.com

Visual StudioとTypeScript 2.0.3を使用して、タイピングから@typesに移行する

私は自分のWebプロジェクト(Visual Studio 2015 Community)からタイプを削除し、package.jsonの新しいNPM @types(TypeScript 2.0.3)を介してd.tsファイルをインストールしようとしました:

 "dependencies": {
    "@types/angular": "^1.5.8",
    "@types/angular-cookies": "^1.4.2",
    "@types/angular-local-storage": "^0.1.33",
    "@types/angular-material": "^1.1.37",
    "@types/angular-translate": "^2.4.33",
    "@types/lodash": "^4.14.36"
  }

Visual StudioのIntelliSenseは、以前はタイピングでうまく機能していました。これは、VSプロジェクトにタイプフォルダーを含めたためです。 NPMはタイプをnode_modules/@typesフォルダーにインストールします。これが私の問題です。 VSプロジェクトにnode_modulesの内容を含めたくありません。 node_modulesフォルダーは、npmで自由に削除して再作成できるので問題ありません。 Visual Studioは、プロジェクトに含まれていないとインストールされた入力を認識しません! /// referenceタグを含むファイルを作成できると思いますが、タイピングのインストール/削除時にこのファイルを手動で維持する必要があります。

VS IntelliSenseを機能させるための推奨される方法はありますか?

17
George Knap

2.0に切り替えて新しい@types規則を使用した後、私はこれと同じ問題に苦労していました。

ここでtsconfig.jsonの仕様を調べたところ、この便利なプロパティが見つかりました: http://json.schemastore.org/tsconfig

compilerOptionsの「typeRoots」プロパティ。

入力を取得するためにファイルを取得したり配列を含めることができませんでしたが、これで問題が解決したようです。

例としてのtsconfig.jsonファイル:

{
  "compileOnSave": true,
  "compilerOptions": {
    "outDir": "./dist/",
    "sourceMap": true,
    "noImplicitAny": false,
    "module": "commonjs",
    "target": "es5",
    "jsx": "react",
    "typeRoots": [
      "node_modules/@types"
    ]
  }
}

これが同じ問題のある人に役立つことを願っています。

13
Miek

VS 2015 Update 3をインストールしてから、TypeScript 2.0.3ツールをインストールします。

2
Andrew Sorokin

Visual Studio 2015で@typesを使用する例を次に示します(Update 3以降)...

まず、TypeScript v2.0.3以降が必要です。

次に、次のように入力を追加します。

  "devDependencies": {
    "TypeScript": "^2.0.3",

    "@types/jquery": "*",
    "@types/lodash": "^4.14.36"
  }

次に、TypeScriptファイルで、以下を追加します...

/// <reference path="jquery.d.ts"/>
/// <reference path="jquery.lodash.d.ts" />

ライブラリタイプが利用可能かどうかを確認するには、 Definitely Typed を使用して Type Search を確認してください。

参照:

1