this によると、TypeScript 2.0の記事タイピングシステムが変更されたため、カスタムタイピングを現在添付する方法は明確ではありません。そのために常にNPMパッケージを作成する必要がありますか?
前もって感謝します!
プロジェクト専用のローカルカスタム型を作成し、JSライブラリの型を宣言できます。そのためには、次のことが必要です。
ディレクトリ構造を作成して、タイプ宣言ファイルを保持し、ディレクトリ構造が次のようになるようにします。
.
├── custom_typings
│ └── some-js-lib
│ └── index.d.ts
└── tsconfig.json
index.d.ts
ファイルで、JSライブラリの宣言を追加します。
declare module 'some-js-lib' {
export function hello(world: string): void
}
tsconfig.json
のcompilerOptions
セクションにこの型宣言への参照を追加します。
{
"compilerOptions": {
...
"typeRoots": ["node_modules/@types", "custom_typings"]
},
...
}
コードで宣言されたモジュールを使用します。
import { hello } from 'some-js-lib'
hello('world!')
Node_modulesの下に外部jsパッケージがインストールされていると仮定すると、2つのオプションがあると思います。
typeScript パッケージ内の宣言ファイルを提供し、それに参照を追加します。
// node_modules/secret-package/index.d.ts
export interface SecretInterface {
// ¯\_(ツ)_/¯
}
そして、package.jsonのタイピングファイルを参照します。
// node_modules/secret-package/package.json
{
...,
"typings": "./index.d.ts",
...,
}
モジュールの拡張プロジェクトの宣言ファイル内
// index.d.ts
declare module 'secret-package' {
interface SecretInterface {
// ¯\_(ツ)_/¯
}
}