Saya pikir versi paket yang diketik pasti tidak cocok dengan versi paket sebenarnya. Misalnya saat saya menulis masalah ini versi terbaru dari lodash
adalah '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`. Jadi membingungkan ketika kita ingin mengubah paket pengetikan karena tidak ada cara yang baik untuk menambah paket pengetikan karena itu dimaksudkan untuk menjadi versi sebenarnya dari paket tersebut. Ini akan menghentikan pemasangan paket npm di banyak proyek.
Saya menyarankan untuk mengetik paket tidak mengikuti versi persis dari paket sebenarnya. Sebagai contoh:
versi lodash: 4.14.43
@types/lodash versi: 4.1.1
Tetapi dalam file .d.ts kita harus secara eksplisit menulis versi paket lodash yang kompatibel.
Kami juga dapat memiliki @types/lodash-3
dll untuk versi lodash yang lebih lama
Kebijakan untuk nomor versi adalah mencoba untuk menjaga agar dua nomor pertama tetap sejalan. @types/lodash berada di 4.14.x berarti harus bekerja dengan lodash 4.14 dan di atasnya. Digit terakhir mencerminkan pembaruan pada struktur paket (IE: mungkin seseorang membuat definisi tipe yang lebih akurat untuk perubahan 4.14).
Mengingat DT didukung oleh komunitas, tampaknya salah satu dari berikut ini pasti benar:
Saya akan menebak yang #2.
Mengenai @types/lodash-3, cara modul diselesaikan, Anda harus melakukan sesuatu seperti import * as _ from "lodash-3"
agar tipe tersebut diambil.
Terima kasih atas jawaban Anda yang luar biasa. Pertanyaan ini muncul di benak saya karena baru-baru ini pembaruan untuk pengetikan lodash merusak kode saya (https://github.com/DefinitelyTyped/DefinitelyTyped/commit/34124e057f3f2baf4d1b0f17616a00221c04690c). Rupanya, kita harus menulis lebih banyak tes untuk pengetikan lodash.
Untuk konteksnya, utas lain ini membuatnya terdengar seolah-olah kebijakan mencoba menjaga nomor versi tetap sinkron hanya diikuti oleh beberapa paket.
Komentar yang paling membantu
Kebijakan untuk nomor versi adalah mencoba untuk menjaga agar dua nomor pertama tetap sejalan. @types/lodash berada di 4.14.x berarti harus bekerja dengan lodash 4.14 dan di atasnya. Digit terakhir mencerminkan pembaruan pada struktur paket (IE: mungkin seseorang membuat definisi tipe yang lebih akurat untuk perubahan 4.14).
Mengingat DT didukung oleh komunitas, tampaknya salah satu dari berikut ini pasti benar:
Saya akan menebak yang #2.
Mengenai @types/lodash-3, cara modul diselesaikan, Anda harus melakukan sesuatu seperti
import * as _ from "lodash-3"
agar tipe tersebut diambil.