|
|
Publisert på 22.10.2018 17:21:45
|
|
|

I ECMAscrip{filtering}t 2015-standarden legger Javascrip{filtering}t til konseptet moduler. Typescrip{filter}t følger også dette konseptet.
1. Import og eksport av moduler
Moduler utføres i sitt eget omfang, ikke i det globale omfanget; Dette betyr at variabler, funksjoner, klasser osv. definert i en modul ikke er synlige utenfor modulen med mindre du eksplisitt eksporterer dem via en av eksportene. På den annen side, hvis du vil bruke variabler, funksjoner, klasser, grensesnitt osv. eksportert fra andre moduler, må du importere dem ved å bruke en av importene.
Modulene er selvdeklarerende. I Typescrip{filter}t etableres forholdet mellom de to modulene ved å bruke import og eksport på filnivå. Her er et enkelt eksempel:
animal.ts
app.ts
I eksempelet over erklæres en Animal-lignende i animal.ts og eksporteres via eksport. I app.ts, spesifiser den relative filstien og importerer den via import for å bruke Animal-klassen.
Fordi Javascrip{filter}t har to forskjellige modulreferansemetoder, kan du ved kompilering til Javascrip{filter}t spesifisere den kompilerte modulreferansemetoden gjennom konfigurasjonsfilen Typescrip{filtering}t tsconfig.json
Følgende er innholdet i Javascrip{filter}t-filen kompilert på ulike måter
Commonjs
AMD
2. Omdøping av import og eksport
Navnet på det interne objektet som brukes som standard ved import og eksport av moduler. Typescrip{filter}t støtter også omdøping før og etter eksport. Endre eksempelet ovenfor
animal.ts
app.ts
Når man importerer og eksporterer, omdøpes modulene med as-nøkkelordet.
En ting å merke seg her er at når den eksporterte modulen blir omdøpt, skal modulnavnet før importen være det samme som det eksporterte omdøpte modulnavnet, ellers vil kompilatoren gi en feilmelding. For eksempel, hvis den eksporterte modulen omdøpes til ANI, må modulnavnet foran as-nøkkelordet være ANI når denne modulen importeres i en annen fil app.ts.
Alternativt, hvis du ikke vet navnet på den importerte modulen, kan du erstatte det med et *-tegn
I eksempelet over, hvis du bytter navn til alle moduler med *-tegnet til animal_module, kan du få tilgang til alt innholdet som eksporteres fra modulen gjennom animal_module objekt.
3. Eksporter og eksporter flere objekter
Normalt defineres flere typer objekter i modulen og eksporteres deretter sammen. Det kan også være flere moduler i importen
animal.ts
app.ts
Når du eksporterer, kan du sette sammen typeobjektet du vil eksportere til et JSON-objekt og deretter eksportere det. Når innholdet er importert, kan det nås via omdøpte modulobjekter.
4. Standardeksport
Det kan bare være én standard eksport for en modul
animal.ts
app.ts
I eksempelet over eksporteres Animal-klassen ved bruk av standard nøkkelord. I motsetning til vanlige importer, kan du ved import av standard eksportmoduler direkte spesifisere navnet på den importerte modulen uten å omslutte den med krølleparenteser med {}.
5. Dynamisk lastemodul
Fordi i Javascrip{filter}t finnes det to måter å laste moduler på: CommonJS og AMD. Når du bruker Typescrip{filter}t, må du skrive forskjellig kode avhengig av konfigurasjonsinnholdet i den endelige kompileringen for å generere Javascrip{filter}t.
Modulfil animal.ts
CommonJS-måtereferanse:
app.ts
AMD-sitat:
app.ts
|
Foregående:BonusCloud Aktiveringskodeverktøy [med kildekode]Neste:Nykommerrapport, hvordan fikk MB det?
|