V standardu ECMAscrip{filtering}t 2015 Javascrip{filtering}t dodaja koncept modulov. Typecrip{filter}t prav tako sledi temu konceptu.
1. Uvoz in izvoz modulov
Moduli se izvajajo v svojem lastnem obsegu, ne v globalnem obsegu; To pomeni, da spremenljivke, funkcije, razredi itd., definirani v modulu, niso vidni zunaj modula, razen če jih eksplicitno izvozite z enim od izvozov. Po drugi strani pa, če želite uporabljati spremenljivke, funkcije, razrede, vmesnike itd., izvožene iz drugih modulov, jih morate uvoziti, z enim od uvozov.
Moduli so samodeklarativni. V Typescrip{filter}t se odnos med obema moduloma vzpostavi z uporabo uvoza in izvoza na ravni datotek. Tukaj je osnovni primer:
animal.ts
app.ts
V zgornjem primeru je živalski lik razglašen v animal.ts in izvožen preko izvoza. V app.ts določite relativno pot datoteke in jo uvozite z uvozom, da uporabite razred Animal.
Ker ima Javascrip{filter}t dve različni metodi referenc modulov, lahko pri prevajanju v Javascrip{filter}t določite metodo referenc na prevedene module preko konfiguracijske datoteke Typescrip{filtering}t tsconfig.json
Spodaj je vsebina datoteke Javascrip{filter}t, prevedena na različne načine
commonjs
AMD
2. Preimenovanje uvoza in izvoza
Ime notranjega objekta, ki se privzeto uporablja pri uvozu in izvozu modulov. Typescrip{filter}t podpira tudi preimenovanje pred in po izvozu. Spremenite zgornji primer
animal.ts
app.ts
Pri uvozu in izvozu se moduli preimenujejo z uporabo ključne besede as.
Pomembno je vedeti, da ko se izvozni modul preimenuje, mora biti ime modula pred uvozom enako kot ime preimenovanega modula, sicer bo prevajalnik sprožil sporočilo o napaki. Na primer, če je izvožen modul preimenovan v ANI, mora biti ime modula pred ključno besedo as ANI pri uvozu tega modula v drugo app.ts.
Alternativno, če ne poznate imena uvoženega modula, ga lahko zamenjate z znakom *
V zgornjem primeru, če preimenujete vse module, ki jih zamenjate s znakom * za animal_module, lahko dostopate do vse vsebine, izvožene iz modula, preko animal_module objekta.
3. Izvoz in izvoz več objektov
Običajno je v modulu definiranih več vrst objektov, ki jih nato skupaj izvozijo. V uvozu je lahko tudi več modulov
animal.ts
app.ts
Pri izvozu lahko ponovno sestaviš tip objekta, ki ga želiš izvoziti, v JSON objekt in ga nato izvoziš. Po uvozu je vsebino mogoče dostopati preko preimenovanih modulskih objektov.
4. Privzeti izvoz
Za modul je lahko le en privzeti izvoz
animal.ts
app.ts
V zgornjem primeru se razred Animal izvozi z uporabo privzete ključne besede. Za razliko od običajnih uvozov lahko pri uvozu privzetih izvoznih modulov neposredno določite ime uvoženega modula, ne da bi ga zaprli v kodraste oklepaje z {}.
5. Modul dinamičnega obremenjevanja
Ker v Javascrip{filter}t obstajata dva načina za nalaganje modulov: CommonJS in AMD. Pri uporabi Typescrip{filter}t morate napisati različno kodo glede na konfiguracijsko vsebino končne kompilacije, da ustvarite Javascrip{filter}t.
Datoteka modula animal.ts
Referenca načina CommonJS:
app.ts
Citat o načinu AMD:
app.ts
|