TypeScript Academy · Oppitunti

TypeScript-ohjelman luominen API:lla

Alustakaa kääntäjäohjelma ja käyttäkää tyyppitarkistinta

Oppitunti 1/413 vaihetta

TypeScript-ohjelman luominen API:lla on ilmainen TypeScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu TypeScript Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. TypeScript Academy-kurssilla on yhteensä 4 oppituntia.

Mikä Compiler API on?

TypeScript tarjoaa pääsyn kääntäjän sisäisiin toimintoihin typescript-npm-paketin kautta. Voitte luoda ohjelmia, tutkia tyyppitarkistinta ja analysoida lähdetiedostoja ohjelmallisesti.

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

typescript-paketin asentaminen

Asentakaa TypeScript tavalliseksi riippuvuudeksi, ei ainoastaan kehitysriippuvuudeksi, kun käytätte Compiler APIa työkaluissanne.

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

Ohjelman luominen

ts.createProgram vastaanottaa taulukon lähtötiedostojen polkuja ja kääntäjän asetuksia sekä palauttaa Program-objektin.

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

Lähdetiedostojen käyttäminen

Käyttäkää program.getSourceFiles()-metodia kaikkien käännökseen kuuluvien tiedostojen hakemiseen tai getSourceFile-metodia tietyn polun hakemiseen.

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

Tyyppitarkistimen hakeminen

Tyyppitarkistin on TypeScript-analyysin ydin. Hakekaa se metodilla program.getTypeChecker().

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

Diagnostiikan lukeminen

Hakekaa kääntäjän diagnostiikka eli virheet ja varoitukset, jotta voitte toteuttaa mukautettuja validointityökaluja.

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

tsconfig.json-tiedoston lukeminen

Käyttäkää metodeja ts.readConfigFile ja ts.parseJsonConfigFileContent kääntäjän asetusten lataamiseen tsconfig-tiedostosta.

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);

Symbolien ratkaiseminen

Tyyppitarkistin voi ratkaista symbolit — ilmoituksiin viittaavat nimet — ja selvittää, mihin tietty tunniste viittaa.

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());
  }
});

Tulosteen tuottaminen

Kutsukaa metodia program.emit() JavaScript- ja deklarointitiedostojen tuottamiseen samalla tavalla kuin suorittamalla tsc.

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

Inkrementaaliset ohjelmat

Käyttäkää ts.createIncrementalProgram-metodia toistuvan analyysin nopeuttamiseen hyödyntämällä aiempaa koontitilaa uudelleen.

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

Kertaus: Compiler API:n perusteet

TypeScriptin Compiler API:n avulla voitte luoda ohjelmia, tutkia lähdetiedostoja, kysellä tyyppejä tarkistimen kautta ja tuottaa JavaScriptiä — kaikki Node.js-koodista käsin.

Pikatarkistus

Mikä metodi palauttaa ohjelman TypeScript-tyyppitarkistimen?

Mitä opitte

TypeScriptin Compiler API:n käyttö alkaa kutsulla ts.createProgram. Ohjelmasta voitte käyttää lähdetiedostoja ja tyyppitarkistinta, hakea diagnostiikkaa ja tuottaa tulostetta — tämä muodostaa perustan linttereiden, koodigeneraattoreiden ja analyysityökalujen rakentamiselle.

Aloita maksutta

Opi TypeScript tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
101
Oppitunnit
352

Usein kysytyt kysymykset

Onko oppitunti ”TypeScript-ohjelman luominen API:lla” ilmainen?

Kyllä – oppitunnin ”TypeScript-ohjelman luominen API:lla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko TypeScript Academy-kurssin, päivitä CoddyKit PROhon. TypeScript Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”TypeScript-ohjelman luominen API:lla”?

Alustakaa kääntäjäohjelma ja käyttäkää tyyppitarkistinta Harjoittelet TypeScript Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni TypeScript Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin TypeScript Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”TypeScript-ohjelman luominen API:lla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä TypeScript Academy-oppitunnilla?

Kyllä. Jokainen TypeScript Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. TypeScript-ohjelman luominen API:lla
  2. AST:n läpikäynti visitoreilla
  3. Omat muuntimet ja koodin generointi
  4. Yksinkertaisen linttaustyökalun rakentaminen
← Takaisin: TypeScript Academy