|
|
Publicerad på 2018-10-22 17:21:45
|
|
|

I ECMAscrip{filtering}t 2015-standarden lägger Javascrip{filtering}t till begreppet moduler. Typescrip{filter}t följer också detta koncept.
1. Import och export av moduler
Moduler körs i sitt eget scope, inte i det globala scope; Detta innebär att variabler, funktioner, klasser osv. som definieras i en modul inte är synliga utanför modulen om du inte uttryckligen exporterar dem med någon av exporterna. Å andra sidan, om du vill använda variabler, funktioner, klasser, gränssnitt etc. exporterade från andra moduler, måste du importera dem via en av importerna.
Modulerna är självdeklarerande. I Typescrip{filter}t etableras relationen mellan de två modulerna genom att använda import och export på filnivå. Här är ett enkelt exempel:
animal.ts
app.ts
I exemplet ovan deklareras en Animal-liknande i animal.ts och exporteras via export. I app.ts, ange den relevanta filsökvägen och importera den via import för att använda Animal-klassen.
Eftersom Javascrip{filter}t har två olika modulreferensmetoder kan du vid kompilering till Javascrip{filter}t specificera den kompilerade modulreferensmetoden via konfigurationsfilen Typescrip{filtering}t tsconfig.json
Följande är innehållet i filen Javascrip{filter}t som kompileras på olika sätt
Commonjs
AMD
2. Omdöpning av import och export
Namnet på det interna objektet som används som standard vid import och export av moduler. Typescrip{filter}t stöder också namnbyte före och efter export. Modifiera exemplet ovan
animal.ts
app.ts
Vid import och export byter moduler namn med nyckelordet as.
En sak att notera här är att när den exporterade modulen byter namn bör modulnamnet före importen vara detsamma som det exporterade omdöpta modulnamnet, annars kommer kompilatorn att ge ett felmeddelande. Till exempel, om den exporterade modulen byts namn till ANI, måste modulnamnet före as-nyckelordet vara ANI när denna modul app.ts en annan fil importeras.
Alternativt, om du inte vet namnet på den importerade modulen, kan du ersätta det med ett *-tecken
I exemplet ovan, om du byter namn på alla moduler som ersatts av *-tecknet till animal_module, kan du komma åt allt innehåll som exporteras från modulen via animal_module objekt.
3. Exportera och exportera flera objekt
Normalt definieras flera typer av objekt i modulen och exporteras sedan tillsammans. Det kan också finnas flera moduler i importen
animal.ts
app.ts
När du exporterar kan du återmontera typobjektet du vill exportera till ett JSON-objekt och sedan exportera det. När innehållet är importerat kan det nås via omdöpta modulobjekt.
4. Standardexport
Det kan bara finnas en standardexport för en modul
animal.ts
app.ts
I exemplet ovan exporteras Animal-klassen med standardnyckelordet. Till skillnad från vanliga importer kan du vid import av standardexportmoduler direkt ange namnet på den importerade modulen utan att omsluta den med lockiga klamrar {}.
5. Dynamisk laddningsmodul
För i Javascrip{filter}t finns det två sätt att ladda moduler: CommonJS och AMD. När du använder Typescrip{filter}t behöver du skriva olika kod beroende på konfigurationsinnehållet i den slutliga kompileringen för att generera Javascrip{filter}t.
Modulfil animal.ts
CommonJS-vägreferens:
app.ts
AMD-citat:
app.ts
|
Föregående:BonusCloud aktiveringskodverktyg [med källkod]Nästa:Nybörjarrapport, hur fick MB tag på det?
|