確実に型付けされたパッケージのバージョンは、実際のパッケージのバージョンと一致するべきではないと思います。 たとえば、私がこの号を書いている時点では、 lodash
の最新バージョンは '4.17.2 and the latest version of
@ types / lodash is
4.14.43 . This probably means that the typings are for
lodash -v4.14.43`。 したがって、タイピングパッケージは実際のバージョンであることが意図されているため、タイピングパッケージをインクリメントする適切な方法がないため、タイピングパッケージを変更する場合は混乱を招きます。 これにより、多くのプロジェクトでnpmパッケージをインストールできなくなります。
パッケージを実際のパッケージの正確なバージョンに従わないように入力することをお勧めします。 例えば:
lodashバージョン: 4.14.43
@ types / lodashバージョン: 4.1.1
ただし、.d.tsファイルには、互換性のあるlodashパッケージバージョンを明示的に記述する必要があります。
また、古いバージョンのlodashには@types/lodash-3
などを使用できます
バージョン番号のポリシーは、最初の2つの番号を一列に並べるようにすることです。 @ types / lodashが4.14.xにあるということは、lodash4.14以降で動作するはずであることを意味します。 最後の桁は、パッケージ構造の更新を反映しています(つまり、誰かが4.14の変更に対してより正確な型定義を行った可能性があります)。
DTがコミュニティでサポートされていることを考えると、次のいずれかが当てはまるようです。
私はその#2を推測します。
モジュールを解決する方法である@types / lodash-3に関しては、上記のタイプを取得するには、 import * as _ from "lodash-3"
のようなものを実行する必要があります。
素晴らしい回答ありがとうございます。 最近、lodashタイピングの更新によってコードが壊れたため、この質問が頭に浮かびます(https://github.com/DefinitelyTyped/DefinitelyTyped/commit/34124e057f3f2baf4d1b0f17616a00221c04690c)。 どうやら、私たちはlodashタイピングのためのより多くのテストを書くべきです。
コンテキストとしては、この他のスレッドは、バージョン番号をある程度同期させようとするポリシーの後に、一部のパッケージのみが続くように聞こえます。
最も参考になるコメント
バージョン番号のポリシーは、最初の2つの番号を一列に並べるようにすることです。 @ types / lodashが4.14.xにあるということは、lodash4.14以降で動作するはずであることを意味します。 最後の桁は、パッケージ構造の更新を反映しています(つまり、誰かが4.14の変更に対してより正確な型定義を行った可能性があります)。
DTがコミュニティでサポートされていることを考えると、次のいずれかが当てはまるようです。
私はその#2を推測します。
モジュールを解決する方法である@types / lodash-3に関しては、上記のタイプを取得するには、
import * as _ from "lodash-3"
のようなものを実行する必要があります。