Avvio della migrazione: allowJs e checkJs
Abiliti il controllo TypeScript in un progetto JavaScript.
Avvio della migrazione: allowJs e checkJs è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento TypeScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso TypeScript Academy include 4 lezioni in totale.
La sfida della migrazione
Migrare tutto in una volta un'ampia codebase JavaScript a TypeScript è rischioso. L'approccio incrementale consiste nell'abilitare gradualmente TypeScript, un file alla volta, mantenendo il progetto funzionante.
# Key compiler flags for gradual migration:
# allowJs — allow .js files in the compilation
# checkJs — type-check .js files with JSDoc typesPassaggio 1: installare TypeScript
Aggiunga TypeScript al progetto e crei inizialmente un tsconfig minimo, senza la modalità strict.
npm install --save-dev typescript
npx tsc --init
# Edit tsconfig.json to set allowJs: trueallowJs: true
Con allowJs: true, TypeScript include i file .js nella compilazione. Il controllo dei tipi è permissivo: la maggior parte del codice JavaScript viene compilata senza errori.
{
"compilerOptions": {
"allowJs": true,
"outDir": "./dist",
"target": "ES2020"
},
"include": ["src"]
}checkJs: true
checkJs: true abilita il controllo dei tipi per i file JavaScript usando i tipi inferiti e le annotazioni JSDoc. In questo modo vengono rilevati i bug più evidenti senza dover convertire i file .ts.
{
"compilerOptions": {
"allowJs": true,
"checkJs": true
}
}Sopprimere gli errori con @ts-nocheck
Aggiunga // @ts-nocheck all'inizio dei file JS problematici per sopprimere tutti gli errori di TypeScript mentre lavora gradualmente alla migrazione.
// @ts-nocheck
// This file is not yet migrated — errors suppressed
function legacyUtil(x) { return x.foo.bar; }Soppressione degli errori per riga
Usi // @ts-ignore per sopprimere l'errore di una singola riga senza disabilitare il controllo per l'intero file.
const result = legacyFn(value); // @ts-ignore
// Only this line's error is suppressedmaxNodeModuleJsDepth
Per impostazione predefinita, TypeScript controlla solo i file JS presenti nel progetto. Imposti maxNodeModuleJsDepth per controllare la profondità con cui verifica i file JS in node_modules.
{
"compilerOptions": {
"maxNodeModuleJsDepth": 1 // Check 1 level deep in node_modules
}
}Compilare JS nella cartella dist
Con allowJs, il compilatore TypeScript può anche transpilerare i file JS, cosa utile per applicare i polyfill e supportare in modo uniforme gli ambienti meno recenti.
tsc
# Compiles both .ts and .js files to dist/Misurare i progressi
Monitori i progressi della migrazione contando i file .js rispetto ai file .ts. Fissi un obiettivo per la percentuale di file da convertire in ogni sprint.
find src -name "*.ts" | wc -l # TypeScript files
find src -name "*.js" | wc -l # JavaScript files remainingEvitare la regressione dei tipi
Mantenga inizialmente noImplicitAny: false per evitare che i file JS esistenti producano una valanga di errori. Lo abiliti dopo aver convertito ogni file in TypeScript.
{
"compilerOptions": {
"allowJs": true,
"noImplicitAny": false // Relax for JS files; enable per .ts file
}
}Riepilogo: iniziare la migrazione
Inizi la migrazione con allowJs: true e checkJs: true, usi @ts-nocheck per i file non ancora pronti e monitori i progressi contando i file. Questo approccio mantiene il progetto compilabile mentre converte i file in modo incrementale.
Verifica rapida
Che cosa fa checkJs: true senza richiedere la conversione da .js a .ts?
Cosa ha imparato
Inizi la migrazione da JS a TS con allowJs: true e, facoltativamente, checkJs: true. Usi @ts-nocheck per silenziare i file non ancora pronti e li converta gradualmente, monitorando i progressi in base al numero di file.
Impara TypeScript con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 101
- Lezioni
- 352
Domande Frequenti
La lezione «Avvio della migrazione: allowJs e checkJs» è gratuita?
Sì — il testo completo di «Avvio della migrazione: allowJs e checkJs» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso TypeScript Academy, passa a CoddyKit PRO. Il corso TypeScript Academy include 4 lezioni in totale.
Cosa imparerò in «Avvio della migrazione: allowJs e checkJs»?
Abiliti il controllo TypeScript in un progetto JavaScript. Eserciti TypeScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare TypeScript Academy?
Non è richiesta alcuna esperienza precedente. TypeScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Avvio della migrazione: allowJs e checkJs»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione TypeScript Academy?
Sì. Ogni lezione TypeScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Avvio della migrazione: allowJs e checkJs
- Annotazioni di tipo JSDoc come collegamento
- Strategia di conversione file per file
- Gestione delle librerie di terze parti senza tipi