Geçişi Başlatma: allowJs ve checkJs
Bir JavaScript projesinde TypeScript denetimini etkinleştirin
Geçişi Başlatma: allowJs ve checkJs, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.
Geçiş Zorluğu
Büyük bir JavaScript kod tabanını tek seferde TypeScript'e geçirmek risklidir. Kademeli yol şudur: proje çalışır durumda kalırken TypeScript'i dosya dosya, aşamalı olarak etkinleştirin.
# Key compiler flags for gradual migration:
# allowJs — allow .js files in the compilation
# checkJs — type-check .js files with JSDoc types1. Adım: TypeScript'i Yükleme
Projeye TypeScript ekleyin ve başlangıçta katı modu etkinleştirmeden minimal bir tsconfig oluşturun.
npm install --save-dev typescript
npx tsc --init
# Edit tsconfig.json to set allowJs: trueallowJs: true
allowJs: true ile TypeScript, derlemeye .js dosyalarını da dahil eder. Tür denetimi esnektir — JavaScript kodunun çoğu hatasız derlenir.
{
"compilerOptions": {
"allowJs": true,
"outDir": "./dist",
"target": "ES2020"
},
"include": ["src"]
}checkJs: true
checkJs: true, çıkarılan türleri ve JSDoc ek açıklamalarını kullanarak JavaScript dosyaları için tür denetimini etkinleştirir. .ts dönüşümü gerektirmeden belirgin hataları ortaya çıkarır.
{
"compilerOptions": {
"allowJs": true,
"checkJs": true
}
}@ts-nocheck ile Hataları Bastırma
Kademeli geçiş üzerinde çalışırken, sorunlu JS dosyalarının en üstüne // @ts-nocheck ekleyerek tüm TypeScript hatalarını bastırın.
// @ts-nocheck
// This file is not yet migrated — errors suppressed
function legacyUtil(x) { return x.foo.bar; }Satır Başına Hata Bastırma
Tüm dosyayı devre dışı bırakmadan tek bir satırdaki hatayı bastırmak için // @ts-ignore kullanın.
const result = legacyFn(value); // @ts-ignore
// Only this line's error is suppressedmaxNodeModuleJsDepth
Varsayılan olarak TypeScript yalnızca projenizdeki JS dosyalarını denetler. node_modules içindeki JS dosyalarının ne kadar derinlikte denetleneceğini kontrol etmek için maxNodeModuleJsDepth değerini ayarlayın.
{
"compilerOptions": {
"maxNodeModuleJsDepth": 1 // Check 1 level deep in node_modules
}
}JS'yi Dist'e Derleme
allowJs ile TypeScript derleyicisi JS dosyalarını da dönüştürebilir — bu, çoklu dolguları uygulamak ve eski ortamları aynı şekilde hedeflemek için kullanışlıdır.
tsc
# Compiles both .ts and .js files to dist/İlerlemeyi Ölçme
.js ve .ts dosyalarını sayarak geçiş ilerlemesini takip edin. Her sprintte dönüştürülecek yüzde için bir hedef belirleyin.
find src -name "*.ts" | wc -l # TypeScript files
find src -name "*.js" | wc -l # JavaScript files remainingTür Gerilemesini Önleme
Mevcut JS dosyalarının hatalarla dolmasını önlemek için başlangıçta noImplicitAny: false değerini koruyun. Her dosyayı TypeScript'e dönüştürdükten sonra bunu etkinleştirin.
{
"compilerOptions": {
"allowJs": true,
"noImplicitAny": false // Relax for JS files; enable per .ts file
}
}Özet: Geçişi Başlatma
Geçişi allowJs: true ve checkJs: true ile başlatın, hazır olmayan dosyalar için @ts-nocheck kullanın ve ilerlemeyi dosya sayısına göre takip edin. Bu yaklaşım, dosyaları kademeli olarak dönüştürürken projenin derlenmeye devam etmesini sağlar.
Hızlı Kontrol
.js dosyalarının .ts dosyalarına dönüştürülmesini gerektirmeden checkJs: true ne yapar?
Öğrendikleriniz
JS→TS geçişini allowJs: true ve isteğe bağlı olarak checkJs: true ile başlatın. Hazır olmayan dosyaları susturmak için @ts-nocheck kullanın ve ilerlemeyi dosya sayısına göre takip ederek dosyaları kademeli olarak dönüştürün.
Sıkça Sorulan Sorular
“Geçişi Başlatma: allowJs ve checkJs” dersi ücretsiz mi?
Evet — “Geçişi Başlatma: allowJs ve checkJs” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.
“Geçişi Başlatma: allowJs ve checkJs” dersinde ne öğreneceğim?
Bir JavaScript projesinde TypeScript denetimini etkinleştirin TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Geçişi Başlatma: allowJs ve checkJs” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Geçişi Başlatma: allowJs ve checkJs
- Köprü Olarak JSDoc Tür Açıklamaları
- Dosya Dosya Dönüştürme Stratejisi
- Türlendirilmemiş Üçüncü Taraf Kitaplıklarını Yönetme