0Pricing
TypeScript Academy · Pelajaran

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 types

Langkah 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: true

allowJs: 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 suppressed

maxNodeModuleJsDepth

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 remaining

Menghindari 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

  1. Memulai Migrasi: allowJs dan checkJs
  2. Anotasi Tipe JSDoc sebagai Penghubung
  3. Strategi Konversi File demi File
  4. Menangani Pustaka Pihak Ketiga Tanpa Tipe
← Kembali ke TypeScript Academy