TypeScript Academy · leksjon

Opprette et TypeScript-program med API-et

Initialiser et kompilatorprogram og få tilgang til typesjekkeren.

Leksjon 1 av 413 trinn

Opprette et TypeScript-program med API-et er en gratis leksjon i TypeScript Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i TypeScript Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i TypeScript Academy inneholder totalt 4 leksjoner.

Hva er Compiler API?

TypeScript gjør kompilatorens interne funksjonalitet tilgjengelig gjennom npm-pakken typescript. Du kan opprette programmer, inspisere typesjekken og analysere kildefiler programmatisk.

import ts from "typescript";
// Use ts.createProgram to start

Installere pakken typescript

Installer TypeScript som en vanlig avhengighet, ikke bare som devDependency, når du bruker Compiler API i verktøyene dine.

npm install typescript
# Also install types if needed
npm install --save-dev @types/node

Opprette et program

ts.createProgram tar en array med stier til inngangsfiler og kompilatoralternativer, og returnerer et Program-objekt.

import ts from "typescript";
const program = ts.createProgram(["src/index.ts"], {
  target: ts.ScriptTarget.ES2020,
  module: ts.ModuleKind.CommonJS,
  strict: true,
});

Få tilgang til kildefiler

Bruk program.getSourceFiles() for å hente alle filene i kompileringen, eller getSourceFile for en bestemt sti.

const sourceFiles = program.getSourceFiles();
sourceFiles.forEach(sf => {
  if (!sf.isDeclarationFile) {
    console.log(sf.fileName);
  }
});

Hente typesjekken

Typesjekken er kjernen i TypeScript-analyse. Hent den med program.getTypeChecker().

const checker = program.getTypeChecker();
// Now use checker to resolve types, symbols, etc.

Lese diagnostikk

Hent kompilatordiagnostikk, som feil og advarsler, for å implementere egendefinerte valideringsverktøy.

const diagnostics = ts.getPreEmitDiagnostics(program);
diagnostics.forEach(d => {
  const msg = ts.flattenDiagnosticMessageText(d.messageText, "
");
  console.log(msg);
});

Lese tsconfig.json

Bruk ts.readConfigFile og ts.parseJsonConfigFileContent for å laste inn kompilatoralternativer fra en tsconfig-fil.

const cfgFile = ts.readConfigFile("tsconfig.json", ts.sys.readFile);
const parsed = ts.parseJsonConfigFileContent(
  cfgFile.config,
  ts.sys,
  process.cwd()
);
const program2 = ts.createProgram(parsed.fileNames, parsed.options);

Symboloppløsning

Typesjekken kan løse symboler – navn som refererer til deklarasjoner – for å undersøke hva en gitt identifikator viser til.

const sf = program.getSourceFile("src/index.ts")!;
ts.forEachChild(sf, node => {
  if (ts.isVariableStatement(node)) {
    const symbol = checker.getSymbolAtLocation(
      node.declarationList.declarations[0].name
    );
    console.log(symbol?.getName());
  }
});

Generere resultatet

Kall program.emit() for å generere JavaScript- og deklarasjonsfiler, på samme måte som når du kjører tsc.

const emitResult = program.emit();
const exitCode = emitResult.emitSkipped ? 1 : 0;
process.exit(exitCode);

Inkrementelle programmer

Bruk ts.createIncrementalProgram for raskere gjentatt analyse ved å gjenbruke tilstanden fra det forrige bygget.

// Incremental compilation tracks which files changed
// to avoid reprocessing unchanged files

Oppsummering: Grunnleggende om Compiler API

TypeScript Compiler API lar deg opprette programmer, inspisere kildefiler, spørre typesjekken om typer og generere JavaScript – alt fra Node.js-kode.

Hurtigsjekk

Hvilken metode returnerer TypeScript-typesjekken fra et program?

Dette har du lært

TypeScript Compiler API begynner med ts.createProgram. Fra programmet kan du få tilgang til kildefiler, typesjekken og diagnostikk, og generere resultater – grunnlaget for å bygge lint-verktøy, kodegeneratorer og analyseverktøy.

Gratis å komme i gang

Lær deg TypeScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
101
Leksjoner
352

Ofte stilte spørsmål

Er leksjonen «Opprette et TypeScript-program med API-et» gratis?

Ja – hele teksten i «Opprette et TypeScript-program med API-et» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av TypeScript Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i TypeScript Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Opprette et TypeScript-program med API-et»?

Initialiser et kompilatorprogram og få tilgang til typesjekkeren. Du øver på TypeScript Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med TypeScript Academy?

Ingen tidligere erfaring er nødvendig. TypeScript Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Opprette et TypeScript-program med API-et»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne TypeScript Academy-leksjonen?

Ja. Alle TypeScript Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Opprette et TypeScript-program med API-et
  2. Gå gjennom AST-en med visitorer
  3. Egendefinerte transformasjoner og kodegenerering
  4. Bygge et enkelt lint-verktøy
← Tilbake til TypeScript Academy