ECMAscrip{filtering}t 2015 standardis lisab Javascrip{filtering}t moodulite mõiste. Typescrip{filter}t järgib samuti seda kontseptsiooni.
1. Moodulite import ja eksport
Mooduleid täidetakse omaette ulatuses, mitte globaalses ulatuses; See tähendab, et moodulis defineeritud muutujad, funktsioonid, klassid jne ei ole mooduli väljas nähtavad, välja arvatud juhul, kui neid eksporditakse spetsiaalselt ühe ekspordi kaudu. Teisest küljest, kui soovid kasutada muutujaid, funktsioone, klasse, liideseid jne, mis on eksporditud teistest moodulitest, pead need importima, kasutades üht importi.
Moodulid on isedeklareerivad. Typescrip{filter}t süsteemis luuakse kahe mooduli vaheline seos, kasutades failitasemel importi ja eksporti. Siin on lihtne näide:
animal.ts
app.ts
Ülaltoodud näites kuulutatakse loomalaadne kuju animal.ts ja eksporditakse ekspordi teel. app.ts-s määra suhteline failitee ja impordi see importi kaudu, et kasutada Animal klassi.
Kuna Javascrip{filter}t-l on kaks erinevat mooduliviitemeetodit, saab kompileerides Javascrip{filter}t kompileerides kompileeritud mooduli viitemeetodi Typescrip{filtering}t konfiguratsioonifaili tsconfig.json
Järgnevalt on toodud Javascrip{filter}t faili sisu, mis on kompileeritud erinevatel viisidel
commonjs
amd
2. Impordi ja ekspordi ümbernimetamine
Sisemise objekti nimi, mida vaikimisi kasutatakse moodulite importimisel ja eksportimisel. Typescrip{filter}t toetab ka ümbernimetamist enne ja pärast eksporti. Muuda ülaltoodud näidet
animal.ts
app.ts
Importimisel ja eksportimisel nimetatakse mooduleid ümber, kasutades märksõna as.
Üks asi siin on märkida, et kui eksportitud moodul ümber nimetatakse, peaks mooduli nimi enne importi olema sama mis eksporditud ümbernimetatud mooduli nimi, vastasel juhul võib kompilaator esitada veateade. Näiteks kui eksporditud moodul nimetatakse ümber ANI-ks, peab mooduli nimi enne as-märksõna olema ANI, kui importida moodul teise faili app.ts.
Või kui sa ei tea imporditud mooduli nime, võid selle asendada * märgiga
Ülaltoodud näites, kui nimetad kõik moodulid, mis asendatakse * märgiga, animal_module-ks, saad kogu moodulist eksporditud sisule ligi animal_module objekti kaudu.
3. Ekspordi ja ekspordi mitu objekti
Tavaliselt defineeritakse moodulis mitu tüüpi objekte ja eksporditakse need koos. Importis võib olla ka mitu moodulit
animal.ts
app.ts
Eksportides saad selle tüübiobjekti uuesti kokku panna, mida soovid eksportida, JSON-objektiks ja seejärel eksportida selle. Pärast importimist saab sisu ligi ümbernimetatud mooduliobjektide kaudu.
4. Vaikimisi eksport
Mooduli jaoks saab olla ainult üks vaikimisi eksport
animal.ts
app.ts
Ülaltoodud näites eksporditakse Animal klass vaikimisi märksõnaga. Erinevalt tavapärastest importidest saab vaikimisi ekspordimoodulite importimisel otse määrata imporditud mooduli nime ilma, et see oleks lokkis breketites {}.
5. Dünaamiline laadimismoodul
Sest Javascrip{filter}t-s on moodulite laadimiseks kaks võimalust: CommonJS ja AMD. Kui kasutad Typescrip{filter}t, pead kirjutama erinevat koodi, mis sõltub lõpliku kompilatsiooni konfiguratsioonisisust, et genereerida Javascrip{filter}t.
Moodulifaili animal.ts
CommonJS viide:
app.ts
AMD viis tsitaat:
app.ts
|