Rozpoczęcie migracji: allowJs i checkJs
Włącz sprawdzanie TypeScript w projekcie JavaScript.
Rozpoczęcie migracji: allowJs i checkJs to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej TypeScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs TypeScript Academy zawiera 4 lekcji w sumie.
Wyzwanie związane z migracją
Jednorazowa migracja dużej bazy kodu JavaScript do TypeScript jest ryzykowna. Stopniowe podejście polega na włączaniu TypeScriptu etapami, plik po pliku, przy jednoczesnym zachowaniu działania projektu.
# Key compiler flags for gradual migration:
# allowJs — allow .js files in the compilation
# checkJs — type-check .js files with JSDoc typesKrok 1: Instalacja TypeScript
Dodaj TypeScript do projektu i utwórz minimalny plik tsconfig, początkowo bez trybu strict.
npm install --save-dev typescript
npx tsc --init
# Edit tsconfig.json to set allowJs: trueallowJs: true
Przy allowJs: true TypeScript uwzględnia pliki .js podczas kompilacji. Sprawdzanie typów jest liberalne — większość kodu JavaScript zostanie skompilowana bez błędów.
{
"compilerOptions": {
"allowJs": true,
"outDir": "./dist",
"target": "ES2020"
},
"include": ["src"]
}checkJs: true
checkJs: true włącza sprawdzanie typów w plikach JavaScript za pomocą typów wywnioskowanych i adnotacji JSDoc. Ujawnia oczywiste błędy bez konieczności konwersji do .ts.
{
"compilerOptions": {
"allowJs": true,
"checkJs": true
}
}Pomijanie błędów za pomocą @ts-nocheck
Dodaj // @ts-nocheck na początku problematycznych plików JS, aby pominąć wszystkie błędy TypeScriptu podczas stopniowej migracji.
// @ts-nocheck
// This file is not yet migrated — errors suppressed
function legacyUtil(x) { return x.foo.bar; }Pomijanie błędów dla pojedynczych linii
Użyj // @ts-ignore, aby pominąć błąd w jednej linii bez wyłączania sprawdzania całego pliku.
const result = legacyFn(value); // @ts-ignore
// Only this line's error is suppressedmaxNodeModuleJsDepth
Domyślnie TypeScript sprawdza pliki JS tylko w projekcie. Ustaw maxNodeModuleJsDepth, aby określić, jak głęboko ma sprawdzać pliki JS w node_modules.
{
"compilerOptions": {
"maxNodeModuleJsDepth": 1 // Check 1 level deep in node_modules
}
}Kompilowanie JS do katalogu dist
Za pomocą allowJs kompilator TypeScriptu może również transpilować pliki JS — jest to przydatne do jednolitego stosowania polyfilli i kierowania kodu do starszych środowisk.
tsc
# Compiles both .ts and .js files to dist/Pomiar postępów
Śledź postępy migracji, zliczając pliki .js i .ts. Ustal cel dotyczący odsetka plików konwertowanych w każdym sprincie.
find src -name "*.ts" | wc -l # TypeScript files
find src -name "*.js" | wc -l # JavaScript files remainingUnikanie regresji typów
Początkowo pozostaw noImplicitAny: false, aby istniejące pliki JS nie zostały zasypane błędami. Włącz tę opcję po konwersji każdego pliku do TypeScriptu.
{
"compilerOptions": {
"allowJs": true,
"noImplicitAny": false // Relax for JS files; enable per .ts file
}
}Podsumowanie: rozpoczęcie migracji
Rozpocznij migrację od allowJs: true i checkJs: true, używaj @ts-nocheck w przypadku niegotowych plików i śledź postępy, zliczając pliki. Takie podejście pozwala utrzymać możliwość kompilowania projektu podczas stopniowej konwersji plików.
Szybkie sprawdzenie
Co robi checkJs: true bez konieczności konwersji .js do .ts?
Czego się Państwo nauczyli
Rozpocznij migrację z JS do TS od allowJs: true i opcjonalnie checkJs: true. Używaj @ts-nocheck, aby wyciszyć błędy w niegotowych plikach, a następnie konwertuj pliki stopniowo, śledząc postępy na podstawie ich liczby.
Ucz się TypeScript dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 101
- Lekcje
- 352
Często zadawane pytania
Czy lekcja „Rozpoczęcie migracji: allowJs i checkJs” jest bezpłatna?
Tak — pełny tekst „Rozpoczęcie migracji: allowJs i checkJs” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu TypeScript Academy, przejdź na CoddyKit PRO. Kurs TypeScript Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Rozpoczęcie migracji: allowJs i checkJs”?
Włącz sprawdzanie TypeScript w projekcie JavaScript. Ćwiczysz TypeScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć TypeScript Academy?
Nie wymagamy żadnego doświadczenia. TypeScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Rozpoczęcie migracji: allowJs i checkJs”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji TypeScript Academy?
Tak. Każda lekcja TypeScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Rozpoczęcie migracji: allowJs i checkJs
- Adnotacje typów JSDoc jako pomost
- Strategia konwersji plik po pliku
- Praca z nietypowanymi bibliotekami firm trzecich