|
|
Julkaistu 22.10.2018 17.21.45
|
|
|

ECMAscrip{filtering}t 2015 -standardissa Javascrip{filtering}t lisää moduulien käsitteen. Typescrip{filter}t noudattaa myös tätä käsitettä.
1. Moduulien tuonti ja vienti
Moduulit suoritetaan omassa laajuudessaan, eivät globaalissa mittakaavassa; Tämä tarkoittaa, että moduulissa määritellyt muuttujat, funktiot, luokat jne. eivät ole näkyvissä moduulin ulkopuolella, ellei niitä nimenomaisesti viety jommankumman vientijärjestelmän kautta. Toisaalta, jos haluat käyttää muuttujia, funktioita, luokkia, rajapintoja jne., jotka on viety muista moduuleista, sinun täytyy tuoda ne jollain tuonnilla.
Moduulit ovat itseään julistavia. Typescrip{filter}t:ssä kahden moduulin välinen suhde muodostetaan käyttämällä tuontia ja vientiä tiedostotasolla. Tässä perusesimerkki:
animal.ts
app.ts
Yllä olevassa esimerkissä eläinkaltainen hahmo julistetaan animal.ts ja viedään vientiin. app.ts:ssä määritä suhteellinen tiedostopolku ja tuo se tuonnin kautta käyttääksesi Animal-luokkaa.
Koska Javascrip{filter}t:llä on kaksi erilaista moduuliviitemetodia, kääntäessäsi Javascrip{filter}t:ksi, voit määrittää käännetyn moduulin viitemetodin Typescrip{filtering}t -konfiguraatiotiedoston tsconfig.json
Seuraavassa on Javascrip{filter}t-tiedoston sisältö, joka on käännetty eri tavoin
commonjs
amd
2. Tuonnin ja viennin uudelleen nimeäminen
Sisäisen objektin nimi, jota käytetään oletuksena moduulien tuonnissa ja viennissä. Typescrip{filter}t tukee myös uudelleennimeämistä ennen ja jälkeen viennin. Muokkaa yllä olevaa esimerkkiä
animal.ts
app.ts
Tuonnissa ja viennissä moduulit nimetään uudelleen as-avainsanalla.
Yksi huomionarvoinen asia on, että kun viety moduuli nimetään uudelleen, moduulin nimen ennen tuontia pitäisi olla sama kuin vientimoduulin nimi, muuten kääntäjä antaa virheilmoituksen. Esimerkiksi, jos viety moduuli nimetään uudelleen ANI:ksi, moduulin nimen ennen as-avainsanaa on oltava ANI, kun tuodaan moduuli toiseen tiedostoon app.ts.
Vaihtoehtoisesti, jos et tiedä tuodun moduulin nimeä, voit korvata sen *-merkillä
Yllä olevassa esimerkissä, jos nimeät kaikki moduulit, jotka korvataan *-merkillä animal_module, pääset käsiksi kaikkeen moduulista vietyyn sisältöön animal_module objektin kautta.
3. Useiden objektien vienti ja vienti
Normaalisti moduulissa määritellään useita objektityyppejä ja viedään yhdessä. Tuonnissa voi myös olla useita moduuleja
animal.ts
app.ts
Vientivaiheessa voit koota haluamasi tyyppiobjektin uudelleen JSON-objektiksi ja viedä sen sitten. Kun sisältö on tuotu, siihen pääsee käsiksi uudelleen nimettyjen moduuliobjektien kautta.
4. Oletusvienti
Moduulille voi olla vain yksi oletusvienti
animal.ts
app.ts
Yllä olevassa esimerkissä Animal-luokka viedään oletusavainsanalla. Toisin kuin tavallisissa tuonnissa, oletusvientimoduuleja tuodessa voi suoraan määrittää tuodun moduulin nimen ilman, että sitä suljetaan käpertyneisiin tukikohtiin {}:llä.
5. Dynaaminen latausmoduuli
Koska Javascrip{filter}t:ssä moduulien lataamiseen on kaksi tapaa: CommonJS ja AMD. Kun käytät Typescrip{filter}t:tä, sinun täytyy kirjoittaa erilaista koodia lopullisen käännöksen konfiguraatiosisällön mukaan, jotta Javascrip{filter}t -tiedosto saadaan.
Moduulitiedoston animal.ts
CommonJS-viite:
app.ts
AMD:n lainaus:
app.ts
|
Edellinen:BonusCloud-aktivointikoodin hankintatyökalu [lähdekoodin kanssa]Seuraava:Tulokas raportti, miten MB sai sen?
|