TypeScript
型定義ファイルなしでjavascriptライブラリを使用する方法
サーチ…
前書き
任意のグローバル宣言
特に単純なプロジェクトでは、 any
型のグローバルを宣言するのが最も簡単な場合があります。
jQueryに型宣言がない場合( それはそうです )、あなたは
declare var $: any;
これで、$の使用には何も入力されany
。
任意のデフォルトをエクスポートするモジュールを作成する
より複雑なプロジェクトや、徐々に依存関係を入力する予定の場合は、モジュールを作成する方がクリーンかもしれません。
例として、JQueryを使用しています (ただし、入力は可能です )。
// place in jquery.d.ts
declare let $: any;
export default $;
そして、あなたのプロジェクトのどのファイルでも、次のようにこの定義をインポートすることができます:
// some other .ts file
import $ from "jquery";
このインポートの後、 $
はany
としてタイプされany
。
ライブラリに複数のトップレベル変数がある場合は、代わりに名前でエクスポートおよびインポートを行います。
// place in jquery.d.ts
declare module "jquery" {
let $: any;
let jQuery: any;
export { $ };
export { jQuery };
}
両方の名前をインポートして使用することができます。
// some other .ts file
import {$, jQuery} from "jquery";
$.doThing();
jQuery.doOtherThing();
周囲モジュールを使用する
インポートの意図を示すだけで(グローバルを宣言したくないので)、明示的な定義を気にしたくない場合は、アンビエントモジュールをインポートできます。
// in a declarations file (like declarations.d.ts)
declare module "jquery"; // note that there are no defined exports
その後、環境モジュールからインポートすることができます。
// some other .ts file
import {$, jQuery} from "jquery";
上記の宣言されたモジュール( $
やjQuery
ようなもの)からインポートされたものはany
型です
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow