Membuat Berkas .d.ts dari berkas .js

Dengan TypeScript 3.7, TypeScript menambahkan dukungan untuk menghasilkan berkas .d.ts dari JavaScript menggunakan sintaks JSDoc.

Pengaturan ini berarti Anda memiliki editor yang mendukung TypeScript tanpa memindahkan proyek anda ke TypeScript, atau harus memelihara berkas .d.ts di basis kodemu. TypeScript mendukung sebagian besar tag JSDoc, Anda bisa menemukannya di referensi ini.

Menyiapkan proyekmu untuk menggunakan berkas .d.ts

Untuk menambahkan pembuatan berkas .d.ts di proyekmu, Anda perlu melakukan empat langkah berikut:

  • Tambahkan TypeScript ke dependensi dev Anda
  • Tambahkan tsconfig.json untuk mengkonfigurasi TypeScript
  • Jalankan kompilator TypeScript untuk menghasilkan berkas d.ts yang sesuai untuk berkas JS
  • (opsional) Sunting package.json Anda untuk mereferensikan tipe

Menambahkan TypeScript

Anda bisa mempelajari cara melakukan ini di halaman instalasi kami.

TSConfig

TSConfig adalah berkas jsonc yang mengkonfigurasi kedua flag kompilator Anda, dan menyatakan di mana mencari berkas. Dalam kasus ini, Anda menginginkan berkas seperti berikut:

json
{
// Ubah ini agar sesuai dengan proyek Anda
include: ["src/**/*"],
compilerOptions: {
// Memberi tahu TypeScript untuk membaca berkas JS,
// karena biasanya berkas tersebut diabaikan sebagai berkas sumber
allowJs: true,
// Hasilkan berkas d.ts
declaration: true,
// Proses kompilator ini seharusnya
// hanya mengeluarkan berkas d.ts
emitDeclarationOnly: true,
// Tipe harus masuk ke direktori ini.
// Menghapus ini akan menempatkan berkas .d.ts
// di sebelah berkas .js
outDir: "dist",
},
}

Anda dapat mempelajari lebih lanjut tentang opsi di referensi tsconfig. Alternatif untuk menggunakan berkas TSConfig adalah CLI, ini adalah perilaku yang sama seperti perintah CLI.

sh
npx typescript src/**/*.js --declaration --allowJs --emitDeclarationOnly --outDir types

Menjalankan kompilator

Anda bisa mempelajari bagaimana melakukan ini di halaman pemasangan TypeScript kami. Anda perlu memastikan berkas-berkas ini disertakan dalam package Anda jika Anda memiliki berkas dalam gitignore proyek Anda.

Menyunting berkas package.json

TypeScript mereplikasi resolusi node untuk modul di package.json, dengan langkah tambahan untuk menemukan berkas .d.ts. Secara garis besar, Pertama-tama resolusi akan memeriksa bagian "types" yang opsional, kemudian bidang "main", dan terakhir akan mencoba index.d.ts di root.

Package.json Location of default .d.ts
No “types” field checks “main”, then index.d.ts
“types”: “main.d.ts” main.d.ts
“types”: “./dist/main.js” ./main/main.d.ts

Jika tidak ada, maka “main” akan digunakan

Package.json Location of default .d.ts
No “main” field index.d.ts
“main”:“index.js” index.d.ts
“main”:“./dist/index.js” ./dist/index.d.ts

Tips

Jika kamu suka menulis tes untuk berkas .d.ts, coba tsd.

The TypeScript docs are an open source project. Help us improve these pages by sending a Pull Request

Contributors to this page:
BDPBurhanudin Dwi Prakoso  (8)
OTOrta Therox  (3)
MUMasato Urai  (1)

Last updated: 22 Apr 2024