プロジェクトで TypeScript 2 を使用しています。いくつかの js ライブラリを使いたいのですが、そのライブラリの型指定も使いたいです。型は単純な でインストールできますnpm install @types/some-library
。どちらを使うべきかわかりません--save
。DefinetelyTyped --save-dev
GitHub readme でも両方のバージョンについて触れていますが、説明はしていないようです。型は開発には必要で実行時には使用されないため、@types は にあるべきだと思いますdevDependencies
が、@types が だけにあるのを何度も見ましたdependencies
。混乱しています。
@types/* が に入るdependencies
か に入るかをどのように決めればよいでしょうかdevDependencies
? 実際には、多少なりとも公式な指示はあるのでしょうか?
ベストアンサー1
@types/some-module
にパッケージがあるパッケージ「A」を開発しているとしますdevDependencies
。何らかの理由で、 から型をエクスポートしています@types/some-module
:
import { SomeType } from 'some-module';
export default class APackageClass {
constructor(private config: SomeType) {
// …
}
}
現時点では、パッケージ「A」がインストールされていないSomeType
ため、devDependencies
パッケージ「A 」の TypeScript ユーザーは、何が起こっているのか推測できません。
この特定のケースでは、パッケージを定期的に配置する必要があります。他のケースでは十分です。@types/*
dependencies
devDependencies