角型プロジェクト内で外部ライブラリを使用する場合は、多くの要件があります。
1.アンギュラcli.json中にあなたのjavascriptライブラリ宣言します。この命令では
"scripts": [
"../assets/js/yourlibrary.js"
]
を、あなたはtypescriptですコード内のライブラリ関数を使用することができますが、コンパイルすることができません(蒸散)。
2.
にtypescriptです定義をあなたのライブラリーの定義を作成したファイルは、.d.tsで終わる拡張子を持っています。プロジェクト内で作成し、tsconfig.jsonから参照することができます。ここで
は、私が作成したEXIFライブラリ定義の例です:
私のコードでは
/// EXIF.d.ts
declare module EXIF {
interface EXIFStatic {
getData(img, callback): boolean;
getTag(img, tag): any;
getAllTags(img): any;
pretty(img): any;
readFromBinaryFile(file): any;
}
}
declare var EXIF: EXIF.EXIFStatic;
declare module "EXIF" {
export = EXIF;
}
、私は次のように使用します。
EXIF.getData(IMG、コールバック);
あなたはここに多くの例を見つけることができます:https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types
3.リファレンスここではあなたのライブラリーの定義
は私tsconfig.jsonファイルの例です:
"typeRoots": [
"./typings" // I have create a typings folder inside my src project folder
],
"types": [
"EXIF" // Reference of your EXIF.d.ts inside your typings folder
]
定義(Visual Studioコードを使用している場合)コードを記述するときにオートコンプリート関数名を取得し、プロジェクトを作成する角度を許可します。
最初に何かをインポートしたい場合は、javascriptファイルから何か(クラス、関数など)をエクスポートしていることを確認する必要があります。私のjavascriptライブラリメソッドの –
は 'function method(){}'のように定義されています。 – Klyner