Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 10533|Antwoord: 0

[TypeScript] Typescrip{filter}t module

[Link kopiëren]
Geplaatst op 22-10-2018 17:21:45 | | |
In de ECMAscrip{filtering}t 2015-standaard voegt Javascrip{filtering}t het concept modules toe. Typescrip{filter}t volgt dit concept ook.

1. Import en export van modules

Modules worden uitgevoerd in hun eigen scope, niet in de globale scope; Dit betekent dat variabelen, functies, klassen, enz. die in een module zijn gedefinieerd, niet zichtbaar zijn buiten de module, tenzij je ze expliciet exporteert via een van de exports. Aan de andere kant, als je variabelen, functies, klassen, interfaces, enzovoort wilt gebruiken die uit andere modules zijn geëxporteerd, moet je ze importeren via een van de imports.

Modules zijn zelfdeclarerend. In Typescrip{filter}t wordt de relatie tussen de twee modules tot stand gebracht door import en export op bestandsniveau te gebruiken. Hier is een eenvoudig voorbeeld:

animal.ts

app.ts

In het bovenstaande voorbeeld wordt een Dier-achtig gedeclareerd in de animal.ts en geëxporteerd via export. Specificeer in de app.ts het betreffende bestandspad en importeer dit via import om de Animal-klasse te gebruiken.

Omdat Javascrip{filter}t twee verschillende modulereferentiemethoden heeft, kun je bij het compileren naar Javascrip{filter}t de gecompileerde modulereferentiemethode specificeren via het configuratiebestand Typescrip{filtering}t tsconfig.json

De volgende bevat de inhoud van het Javascrip{filter}t-bestand dat op verschillende manieren is gecompileerd

Commonjs

AMD


2. Hernoeming van import en export

De naam van het interne object dat standaard wordt gebruikt bij het importeren en exporteren van modules. Typescrip{filter}t ondersteunt ook hernoemingen voor en na export. Wijzig het bovenstaande voorbeeld

animal.ts

app.ts

Bij importeren en exporteren worden modules hernoemd met het sleutelwoord as.

Een punt om hier op te merken is dat wanneer de geëxporteerde module wordt hernoemd, de modulenaam vóór de import hetzelfde moet zijn als de geëxporteerde hernoemde modulenaam, anders zal de compiler een foutmelding geven. Als bijvoorbeeld de geëxporteerde module wordt hernoemd naar ANI, moet de modulenaam vóór het as-sleutelwoord ANI zijn bij het importeren van deze module in een ander bestand app.ts.

Als je de naam van de geïmporteerde module niet weet, kun je die vervangen door een *-teken

In het bovenstaande voorbeeld, als je alle modules hernoemt en vervangt door het *-teken naar animal_module, kun je alle content die vanuit de module wordt geëxporteerd via animal_module object openen.

3. Exporteer en exporteer meerdere objecten

Normaal gesproken worden meerdere typen objecten gedefinieerd in de module en vervolgens samen geëxporteerd. Er kunnen ook meerdere modules in de import zijn

animal.ts

app.ts

Bij het exporteren kun je het typeobject dat je wilt exporteren opnieuw assembleren naar een JSON-object en het vervolgens exporteren. Na import kan de inhoud worden benaderd via hernoemde moduleobjecten.

4. Standaard export

Er kan maar één standaard export voor een module zijn

animal.ts

app.ts

In het bovenstaande voorbeeld wordt de Animal-klasse geëxporteerd met het standaard trefwoord. In tegenstelling tot normale imports kun je bij het importeren van standaard exportmodules direct de naam van de geïmporteerde module specificeren zonder deze in krulbare haakjes met {} te plaatsen.

5. Dynamische laadmodule

Omdat er in Javascrip{filter}t twee manieren zijn om modules te laden: CommonJS en AMD. Bij het gebruik van Typescrip{filter}t moet je verschillende code schrijven afhankelijk van de configuratie-inhoud van de uiteindelijke compilatie om Javascrip{filter}t te genereren.

Modulebestand animal.ts

CommonJS-wayreferentie:

app.ts

AMD-citaat:

app.ts







Vorig:BonusCloud Activatiecode Grab Tool [met broncode]
Volgend:Nieuwkomerrapport, hoe heeft MB het gekregen?
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com