Memulai Migrasi: allowJs dan checkJs
Aktifkan pemeriksaan TypeScript dalam proyek JavaScript.
Memulai Migrasi: allowJs dan checkJs adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar TypeScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus TypeScript Academy mencakup 4 pelajaran total.
Tantangan Migrasi
Memigrasikan basis kode JavaScript yang besar ke TypeScript sekaligus berisiko. Jalur inkremental berarti mengaktifkan TypeScript secara bertahap, berkas demi berkas, sambil menjaga proyek tetap berfungsi.
# Key compiler flags for gradual migration:
# allowJs — allow .js files in the compilation
# checkJs — type-check .js files with JSDoc typesLangkah 1: Menginstal TypeScript
Tambahkan TypeScript ke proyek dan buat tsconfig minimal tanpa mode ketat pada awalnya.
npm install --save-dev typescript
npx tsc --init
# Edit tsconfig.json to set allowJs: trueallowJs: true
Dengan allowJs: true, TypeScript menyertakan berkas .js dalam kompilasi. Pemeriksaan tipe bersifat longgar—sebagian besar kode JavaScript akan dikompilasi tanpa kesalahan.
{
"compilerOptions": {
"allowJs": true,
"outDir": "./dist",
"target": "ES2020"
},
"include": ["src"]
}checkJs: true
checkJs: true mengaktifkan pemeriksaan tipe untuk berkas JavaScript menggunakan tipe hasil inferensi dan anotasi JSDoc. Fitur ini menampilkan bug yang jelas tanpa mengharuskan konversi ke .ts.
{
"compilerOptions": {
"allowJs": true,
"checkJs": true
}
}Menyembunyikan Kesalahan dengan @ts-nocheck
Tambahkan // @ts-nocheck di bagian atas berkas JS yang bermasalah untuk menyembunyikan semua kesalahan TypeScript selama Anda mengerjakan migrasi secara bertahap.
// @ts-nocheck
// This file is not yet migrated — errors suppressed
function legacyUtil(x) { return x.foo.bar; }Menyembunyikan Kesalahan per Baris
Gunakan // @ts-ignore untuk menyembunyikan kesalahan pada satu baris tanpa menonaktifkan seluruh berkas.
const result = legacyFn(value); // @ts-ignore
// Only this line's error is suppressedmaxNodeModuleJsDepth
Secara bawaan, TypeScript hanya memeriksa berkas JS di proyek Anda. Atur maxNodeModuleJsDepth untuk mengendalikan seberapa dalam TypeScript memeriksa JS di node_modules.
{
"compilerOptions": {
"maxNodeModuleJsDepth": 1 // Check 1 level deep in node_modules
}
}Mengompilasi JS ke Dist
Dengan allowJs, kompiler TypeScript juga dapat mentranspilasi berkas JS—berguna untuk menerapkan polifil dan menargetkan lingkungan lama secara seragam.
tsc
# Compiles both .ts and .js files to dist/Mengukur Kemajuan
Lacak kemajuan migrasi dengan menghitung berkas .js dan .ts. Tetapkan sasaran persentase yang dikonversi dalam setiap siklus kerja.
find src -name "*.ts" | wc -l # TypeScript files
find src -name "*.js" | wc -l # JavaScript files remainingMenghindari Regresi Tipe
Pertahankan noImplicitAny: false pada awalnya agar berkas JS yang ada tidak dibanjiri kesalahan. Aktifkan setelah setiap berkas dikonversi ke TypeScript.
{
"compilerOptions": {
"allowJs": true,
"noImplicitAny": false // Relax for JS files; enable per .ts file
}
}Ringkasan: Memulai Migrasi
Mulailah migrasi dengan allowJs: true dan checkJs: true, gunakan @ts-nocheck untuk berkas yang belum siap, dan lacak kemajuan berdasarkan jumlah berkas. Pendekatan ini menjaga proyek tetap dapat dikompilasi saat Anda mengonversi berkas secara bertahap.
Pemeriksaan Singkat
Apa yang dilakukan checkJs: true tanpa mengharuskan konversi .js ke .ts?
Yang Anda Pelajari
Mulailah migrasi JS→TS dengan allowJs: true dan, jika diperlukan, checkJs: true. Gunakan @ts-nocheck untuk membungkam berkas yang belum siap, lalu konversikan berkas secara bertahap sambil melacak kemajuan berdasarkan jumlah berkas.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Memulai Migrasi: allowJs dan checkJs” gratis?
Ya — teks lengkap “Memulai Migrasi: allowJs dan checkJs” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus TypeScript Academy, upgrade ke CoddyKit PRO. Kursus TypeScript Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Memulai Migrasi: allowJs dan checkJs”?
Aktifkan pemeriksaan TypeScript dalam proyek JavaScript. Kamu berlatih TypeScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai TypeScript Academy?
Tidak diperlukan pengalaman sebelumnya. TypeScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Memulai Migrasi: allowJs dan checkJs” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran TypeScript Academy ini?
Ya. Setiap pelajaran TypeScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Memulai Migrasi: allowJs dan checkJs
- Anotasi Tipe JSDoc sebagai Penghubung
- Strategi Konversi File demi File
- Menangani Pustaka Pihak Ketiga Tanpa Tipe