|
| 1 | +--- |
| 2 | +title: Membuat Berkas .d.ts dari berkas .js |
| 3 | +layout: docs |
| 4 | +permalink: /id/docs/handbook/declaration-files/dts-from-js.html |
| 5 | +oneline: "Bagaimana cara menambahkan hasil d.ts ke proyek JavaScript" |
| 6 | +translatable: true |
| 7 | +--- |
| 8 | + |
| 9 | +[Dengan TypeScript 3.7](/docs/handbook/release-notes/typescript-3-7.html#--declaration-and---allowjs), TypeScript menambahkan dukungan untuk menghasilkan berkas .d.ts dari JavaScript menggunakan sintaks JSDoc. |
| 10 | + |
| 11 | +Pengaturan ini berarti Anda memiliki _editor_ yang mendukung TypeScript tanpa memindahkan proyek anda ke TypeScript, atau harus memelihara berkas .d.ts di basis kodemu. |
| 12 | +TypeScript mendukung sebagian besar tag JSDoc, Anda bisa menemukannya [di referensi ini](/docs/handbook/type-checking-javascript-files.html#supported-jsdoc). |
| 13 | + |
| 14 | +## Menyiapkan proyekmu untuk menggunakan berkas .d.ts |
| 15 | + |
| 16 | +Untuk menambahkan pembuatan berkas .d.ts di proyekmu, Anda perlu melakukan empat langkah berikut: |
| 17 | + |
| 18 | +- Tambahkan TypeScript ke dependensi _dev_ Anda |
| 19 | +- Tambahkan `tsconfig.json` untuk mengkonfigurasi TypeScript |
| 20 | +- Jalankan kompilator TypeScript untuk menghasilkan berkas d.ts yang sesuai untuk berkas JS |
| 21 | +- (_opsional_) Sunting package.json Anda untuk mereferensikan tipe |
| 22 | + |
| 23 | +### Menambahkan TypeScript |
| 24 | + |
| 25 | +Anda bisa mempelajari cara melakukan ini di [halaman instalasi](/download) kami. |
| 26 | + |
| 27 | +### TSConfig |
| 28 | + |
| 29 | +TSConfig adalah berkas jsonc yang mengkonfigurasi kedua _flag_ kompilator Anda, dan menyatakan di mana mencari berkas. |
| 30 | +Dalam kasus ini, Anda menginginkan berkas seperti berikut: |
| 31 | + |
| 32 | +```json5 |
| 33 | +{ |
| 34 | + // Ubah ini agar sesuai dengan proyek Anda |
| 35 | + include: ["src/**/*"], |
| 36 | + |
| 37 | + compilerOptions: { |
| 38 | + // Memberi tahu TypeScript untuk membaca berkas JS, |
| 39 | + // karena biasanya berkas tersebut diabaikan sebagai berkas sumber |
| 40 | + allowJs: true, |
| 41 | + // Hasilkan berkas d.ts |
| 42 | + declaration: true, |
| 43 | + // Proses kompilator ini seharusnya |
| 44 | + // hanya mengeluarkan berkas d.ts |
| 45 | + emitDeclarationOnly: true, |
| 46 | + // Tipe harus masuk ke direktori ini. |
| 47 | + // Menghapus ini akan menempatkan berkas .d.ts |
| 48 | + // di sebelah berkas .js |
| 49 | + outDir: "dist", |
| 50 | + }, |
| 51 | +} |
| 52 | +``` |
| 53 | + |
| 54 | +Anda dapat mempelajari lebih lanjut tentang opsi di [referensi tsconfig](/reference). |
| 55 | +Alternatif untuk menggunakan berkas TSConfig adalah CLI, ini adalah perilaku yang sama seperti perintah CLI. |
| 56 | + |
| 57 | +```sh |
| 58 | +npx typescript src/**/*.js --declaration --allowJs --emitDeclarationOnly --outDir types |
| 59 | +``` |
| 60 | + |
| 61 | +## Menjalankan kompilator |
| 62 | + |
| 63 | +Anda bisa mempelajari bagaimana melakukan ini di [halaman pemasangan](/download) TypeScript kami. |
| 64 | +Anda perlu memastikan berkas-berkas ini disertakan dalam package Anda jika Anda memiliki berkas dalam `gitignore` proyek Anda. |
| 65 | + |
| 66 | +## Menyunting berkas package.json |
| 67 | + |
| 68 | +TypeScript mereplikasi resolusi _node_ untuk modul di `package.json`, dengan langkah tambahan untuk menemukan berkas .d.ts. |
| 69 | +Secara garis besar, Pertama-tama resolusi akan memeriksa bagian `"types"` yang opsional, kemudian bidang `"main"`, dan terakhir akan mencoba `index.d.ts` di _root_. |
| 70 | + |
| 71 | +| Package.json | Location of default .d.ts | |
| 72 | +| :------------------------ | :----------------------------- | |
| 73 | +| No "types" field | checks "main", then index.d.ts | |
| 74 | +| "types": "main.d.ts" | main.d.ts | |
| 75 | +| "types": "./dist/main.js" | ./main/main.d.ts | |
| 76 | + |
| 77 | +Jika tidak ada, maka "main" akan digunakan |
| 78 | + |
| 79 | +| Package.json | Location of default .d.ts | |
| 80 | +| :----------------------- | :------------------------ | |
| 81 | +| No "main" field | index.d.ts | |
| 82 | +| "main":"index.js" | index.d.ts | |
| 83 | +| "main":"./dist/index.js" | ./dist/index.d.ts | |
| 84 | + |
| 85 | +## Tips |
| 86 | + |
| 87 | +Jika kamu suka menulis tes untuk berkas .d.ts, coba [tsd](https://github.com/SamVerschueren/tsd). |
0 commit comments