ECMAscrip{filtering}t 2015 standarte Javascrip{filtering}t prideda modulių sąvoką. Typescrip{filter}t taip pat vadovaujasi šia koncepcija.
1. Modulių importas ir eksportas
Moduliai vykdomi pagal savo sritį, o ne pagal globalią aprėptį; Tai reiškia, kad modulyje apibrėžti kintamieji, funkcijos, klasės ir kt. nėra matomi už modulio ribų, nebent juos aiškiai eksportuojate naudodami vieną iš eksportavimų. Kita vertus, jei norite naudoti kintamuosius, funkcijas, klases, sąsajas ir kt., eksportuotus iš kitų modulių, turite juos importuoti naudodami vieną iš importų.
Moduliai deklaruoja save. Typescrip{filter}t ryšys tarp dviejų modulių nustatomas naudojant importą ir eksportavimą failo lygiu. Štai pagrindinis pavyzdys:
animal.ts
app.ts
Pirmiau pateiktame pavyzdyje į gyvūnus panašus produktas deklaruojamas animal.ts ir eksportuojamas eksportuojant. app.ts nurodykite santykinį failo kelią ir importuokite jį importuodami, kad galėtumėte naudoti klasę Gyvūnas.
Kadangi Javascrip{filter}t turi du skirtingus modulio nuorodos metodus, kompiliuojant į Javascrip{filter}t, galite nurodyti kompiliuotą modulio nuorodos metodą naudodami Typescrip{filtering}t konfigūracijos failo tsconfig.json
Toliau pateikiamas skirtingais būdais kompiliuoto Javascrip{filter}t failo turinys
commonjs
amd
2. Importo ir eksporto pervadinimas
Vidinio objekto, kuris pagal numatytuosius nustatymus naudojamas importuojant ir eksportuojant modulius, pavadinimas. Typescrip{filter}t taip pat palaiko pervadinimą prieš ir po eksportavimo. Pakeiskite aukščiau pateiktą pavyzdį
animal.ts
app.ts
Importuojant ir eksportuojant moduliai pervardijami naudojant raktinį žodį as.
Vienas dalykas, į kurį reikia atkreipti dėmesį, yra tai, kad kai eksportuotas modulis yra pervardytas, modulio pavadinimas prieš importavimą turėtų būti toks pat kaip eksportuotas pervadintas modulio pavadinimas, kitaip kompiliatorius paragins klaidos pranešimą. Pavyzdžiui, jei eksportuotas modulis pervardijamas į ANI, modulio pavadinimas prieš raktinį žodį as turi būti ANI importuojant šį modulį į kitą failo app.ts.
Arba, jei nežinote importuoto modulio pavadinimo, galite jį pakeisti * ženklu
Aukščiau pateiktame pavyzdyje, jei pervardysite visus modulius, pakeistus * ženklu, į animal_module, galėsite pasiekti visą turinį, eksportuotą iš modulio per animal_module objektą.
3. Eksportuokite ir eksportuokite kelis objektus
Paprastai modulyje apibrėžiami keli objektų tipai ir eksportuojami kartu. Importuojant taip pat gali būti keli moduliai
animal.ts
app.ts
Eksportuodami galite iš naujo surinkti tipo objektą, kurį norite eksportuoti į JSON objektą, ir tada jį eksportuoti. Importavus turinį galima pasiekti per pervadintus modulio objektus.
4. Numatytasis eksportas
Gali būti tik vienas numatytasis modulio eksportavimas
animal.ts
app.ts
Aukščiau pateiktame pavyzdyje Gyvūnų klasė eksportuojama naudojant numatytąjį raktinį žodį. Skirtingai nuo įprasto importavimo, importuodami numatytuosius eksportavimo modulius galite tiesiogiai nurodyti importuoto modulio pavadinimą, neįtraukdami jo į garbanotus skliaustus {}.
5. Dinaminis pakrovimo modulis
Nes Javascrip{filter}t yra du modulių įkėlimo būdai: CommonJS ir AMD. Kai naudojate Typescrip{filter}t, turite parašyti skirtingą kodą, priklausomai nuo galutinio kompiliavimo konfigūracijos turinio, kad sugeneruotumėte Javascrip{filter}t.
Modulio failo animal.ts
CommonJS būdo nuoroda:
app.ts
AMD būdas citata:
app.ts
|