|
|
Zveřejněno 22.10.2018 17:21:45
|
|
|

Ve standardu ECMAscrip{filtering}t 2015 Javascrip{filtering}t přidává koncept modulů. Typecrip{filter}t také následuje tento koncept.
1. Import a export modulů
Moduly jsou prováděny ve svém vlastním rozsahu, nikoli v globálním rozsahu; To znamená, že proměnné, funkce, třídy atd. definované v modulu nejsou viditelné mimo modul, pokud je explicitně neexportujete pomocí některého z exportů. Na druhou stranu, pokud chcete používat proměnné, funkce, třídy, rozhraní atd. exportované z jiných modulů, musíte je importovat pomocí jednoho z importů.
Moduly se samy deklarují. V Typescrip{filter}t je vztah mezi těmito dvěma moduly stanoven pomocí importu a exportu na úrovni souboru. Tady je základní příklad:
animal.ts
app.ts
V uvedeném příkladu je Animal-like objekt deklarován v animal.ts a exportován exportem. V app.ts určete relativní cestu k souboru a importujte ji importem, abyste použili třídu Animal.
Protože Javascrip{filter}t má dvě různé metody referencí modulů, při kompilaci do Javascrip{filter}t můžete zvolit metodu reference na zkompilovaný modul pomocí konfiguračního souboru Typescrip{filtering}t tsconfig.json
Následuje obsah souboru Javascrip{filter}t zkompilovaný různými způsoby
commonjs
AMD
2. Přejmenování importu a exportu
Název interního objektu, který se používá ve výchozím nastavení při importu a exportu modulů. Typescrip{filter}t také podporuje přejmenování před a po exportu. Upravte výše uvedený příklad
animal.ts
app.ts
Při importu a exportu jsou moduly přejmenovány pomocí klíčového slova as.
Jedna věc, kterou je třeba si všimnout, je, že když je exportovaný modul přejmenován, měl by být název modulu před importem stejný jako název exportovaného přejmenovaného modulu, jinak kompilátor zobrazí chybovou zprávu. Například pokud je exportovaný modul přejmenován do ANI, musí být název modulu před klíčovým slovem as ANI při importu tohoto modulu do jiného app.ts.
Alternativně, pokud neznáte název importovaného modulu, můžete ho nahradit znakem *
V uvedeném příkladu, pokud všechny moduly přejmenujete a nahradíte znakem * na animal_module, můžete přistupovat ke všemu obsahu exportovanému z modulu přes animal_module objekt.
3. Exportovat a exportovat více objektů
Obvykle je v modulu definováno více typů objektů a poté se společně exportují. Může být také více modulů v importu
animal.ts
app.ts
Při exportu můžete znovu sestavit typový objekt, který chcete exportovat, do JSON objektu a pak ho exportovat. Po importu lze obsah zobrazit přes přejmenované objekty modulu.
4. Výchozí export
Pro modul může být exportován pouze jeden výchozí
animal.ts
app.ts
V uvedeném příkladu je třída Animal exportována pomocí výchozího klíčového slova. Na rozdíl od běžných importů můžete při importu výchozích exportních modulů přímo zadat název importovaného modulu, aniž byste jej uzavřeli do kudrnatých závorek pomocí {}.
5. Dynamický modul zatížení
Protože v Javascrip{filter}t existují dva způsoby, jak načíst moduly: CommonJS a AMD. Při použití Typescrip{filter}t je potřeba napsat odlišný kód v závislosti na konfiguračním obsahu finální kompilace, abyste vygenerovali Javascrip{filter}t.
Modulový soubor animal.ts
Odkaz na způsob CommonJS:
app.ts
Citát z AMD způsobu:
app.ts
|
Předchozí:Nástroj pro získání aktivačního kódu BonusCloud [se zdrojovým kódem]Další:Zpráva nováčka, jak se k tomu MB dostala?
|