|
|
Postat pe 22.10.2018 17:21:45
|
|
|

În standardul ECMAscrip{filtering}t 2015, Javascrip{filtering}t adaugă conceptul de module. Typescrip{filter}t urmează, de asemenea, acest concept.
1. Importul și exportul modulelor
Modulele sunt executate în domeniul lor propriu, nu în cel global; Aceasta înseamnă că variabilele, funcțiile, clasele etc. definite într-un modul nu sunt vizibile în afara modulului decât dacă le exporti explicit folosind unul dintre exporturi. Pe de altă parte, dacă vrei să folosești variabile, funcții, clase, interfețe etc. exportate din alte module, trebuie să le importi, folosind unul dintre importuri.
Modulele sunt autodeclarate. În Typescrip{filter}t, relația dintre cele două module se stabilește prin utilizarea importului și exportului la nivel de fișier. Iată un exemplu de bază:
animal.ts
app.ts
În exemplul de mai sus, un Animal-asemănător este declarat în animal.ts și exportat prin export. În app.ts, specifică calea relativă a fișierului și importă-l prin import pentru a folosi clasa Animal.
Deoarece Javascrip{filter}t are două metode diferite de referință pentru module, când compilezi în Javascrip{filter}t, poți specifica metoda de referință a modulului compilat prin fișierul de configurare Typescrip{filtering}t tsconfig.json
Următoarele sunt conținutul fișierului Javascrip{filter}t compilat în moduri diferite
commonjs
AMD
2. Redenumirea importului și exportului
Numele obiectului intern folosit implicit la importul și exportul modulelor. Typescrip{filter}t suportă, de asemenea, redenumirea înainte și după export. Modificați exemplul de mai sus
animal.ts
app.ts
La importul și exportul, modulele sunt redenumite folosind cuvântul-cheie as.
Un lucru de reținut aici este că atunci când modulul exportat este redenumit, numele modulului înainte de import ar trebui să fie același cu numele modulului exportat redenumit, altfel compilatorul va afișa un mesaj de eroare. De exemplu, dacă modulul exportat este redenumit ANI, numele modulului înainte de cuvântul cheie as trebuie să fie ANI atunci când importi acest modul într-un alt fișier app.ts.
Alternativ, dacă nu știi numele modulului importat, îl poți înlocui cu un semn *
În exemplul de mai sus, dacă redenumești toate modulele înlocuite cu semnul * în animal_module, poți accesa tot conținutul exportat din modul prin animal_module obiect.
3. Exportă și exportă mai multe obiecte
În mod normal, mai multe tipuri de obiecte sunt definite în modul și apoi exportate împreună. De asemenea, pot exista mai multe module în import
animal.ts
app.ts
La export, poți reasambla obiectul tip pe care vrei să-l exporți într-un obiect JSON și apoi îl poți exporta. Odată importat, conținutul poate fi accesat prin obiectele modulului redenumite.
4. Export implicit
Poate exista un singur export implicit pentru un modul
animal.ts
app.ts
În exemplul de mai sus, clasa Animal este exportată folosind cuvântul-cheie implicit. Spre deosebire de importurile normale, când importi module de export implicite, poți specifica direct numele modulului importat fără a-l închiși cu acolțate cu {}.
5. Modul de încărcare dinamică
Pentru că în Javascrip{filter}t există două moduri de a încărca modulele: CommonJS și AMD. Când folosești Typescrip{filter}t, trebuie să scrii cod diferit în funcție de conținutul de configurare al compilației finale pentru a genera Javascrip{filter}t.
Fișierul modulului animal.ts
Referință pentru metoda CommonJS:
app.ts
Citat de modă AMD:
app.ts
|
Precedent:BonusCloud Activat Code Grab Tool [cu cod sursă]Următor:Raport de începători, cum a obținut MB acest lucru?
|