Visual Studio 2015でTypeScriptをセットアップしています。TSファイルでjqueryを使用します。 jqueryを使用すると、VSは '$'に下線を引き、名前が見つからないというメッセージを表示し、正常にビルドしません。ビルドする唯一の方法は、各TSファイルにjqueryタイピングへの参照を追加する場合です。 /// <reference path="typings/index.d.ts" />
とにかくこの参照をすべてのファイルに追加する代わりにグローバルに使用することはできますか?
Visual Studioコードでは、この問題は発生しません。
私のディレクトリは次のようになります-Scripts --ts --- typings --- main.ts tsconfig.json --js
ルートの私のtasks.jsonファイル
{
"version": "0.1.0",
// The command is tsc. Assumes that tsc has been installed using npm install -g TypeScript
"command": "tsc",
// The command is a Shell script
"isShellCommand": true,
// Show the output window only if unrecognized errors occur.
"showOutput": "silent",
// Tell the tsc compiler to use the tsconfig.json from the open folder.
"args": ["-p", "../Scripts/Weblink/ts"],
// use the standard tsc problem matcher to find compile problems
// in the output.
"problemMatcher": "$tsc"
}
scripts/tsのtaskconfig.json
{
"compileOnSave": true,
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"outDir": "../lib/"
},
"exclude": [
"typings/*"
]
}
TypeScript 2.xでは、次のようにタイピングをインストールする必要があります。
npm install --save @types/jquery
その後:
import * as $ from "jquery";
参照する必要はありません。TypeScriptが自動的に処理します。
npm:を使用するTypeScript 3の場合
npm install --save-dev @types/jquery
そして:
import "jquery";
エイリアスは必要ありません。
npm:を使用しない場合
declare module 'jquery';
を含む新しい宣言(jquery.d.ts)ファイルを追加します
そして:
import "jquery";
tsconfig.jsonに追加します。
"moduleResolution": "node",
"lib": [ "es2015", "es2017", "dom" ]