📖 Teorija
Namų darbas — pamatyk kompiliatorių dirbant
Namų darbas — pamatyk kompiliatorių dirbant.
- Įrankiai. Įsidiek Node (jei dar neturi). Sukurk
package.jsonirtsconfig.json, paleisknpm install. Turi atsirastinode_modules/sutypescriptirvite. - Perkelk vieną failą. Nukopijuok vanilla
detail.jsįsrc/views/detail.tsir sukurk minimalųsrc/types.tssuApodtipu (kitą pamoką jį išplėsim). Palikpic.hdurlirpic.copyright.trim()be apsaugų. - Paleisk tikrinimą.
npm run typecheck. Užfiksuok dvi klaidas:TS2551(hdurl) irTS18048(copyright). Tai — tikros klaidos veikiančiame kode. - Įrodyk „
.tsnaršyklėje neveiks". Pabandykdetail.tsprijungti tiesiogiai per<script>ir perpython -m http.server. Neveiks. Paleisknpm run dev— Vite jį suverčia, veikia. - Pamąstyk. Kiek dar tokių optional/union klaidų slypi visame vanilla kode? (Atsakymą pamatysi, kai perkelsi visą programą.)
Privalomi testai:
- Klaidų testas:
npm run typecheckparodoTS2551irTS18048. - Įrankių testas:
.tsveikia pernpm run dev, ne per statinį serverį.
Atsiskaitymui: ekrano nuotraukos: (1) npm run typecheck su dviem klaidomis, (2) programa veikianti per Vite dev serverį.
Toliau. Pamatėm problemą ir gavom įrankį. 16 pamokoje išspręsim tas klaidas: aprašysim
Apodkaip diskriminuotą sąjungą pagalmedia_type, ir „pasiektihdurlvaizdo įraše" taps tiesiog nekompiliuojama. Klaida virsta neįmanoma parašyti.