V tomto kurzu se na příkladech dozvíte o modulech v JavaScriptu.
Jak se náš program zvětšuje, může obsahovat mnoho řádků kódu. Místo toho, abyste vložili vše do jednoho souboru, můžete pomocí modulů oddělit kódy v samostatných souborech podle jejich funkčnosti. Díky tomu je náš kód organizovaný a snadněji se udržuje.
Modul je soubor, který obsahuje kód pro provedení konkrétního úkolu. Modul může obsahovat proměnné, funkce, třídy atd. Podívejme se na příklad,
Předpokládejme, že soubor s názvem greet.js obsahuje následující kód:
// exporting a function export function greetPerson(name) ( return `Hello $(name)`; )
Nyní, chcete-li použít kód greet.js v jiném souboru, můžete použít následující kód:
// importing greetPerson from greet.js file import ( greetPerson ) from './greet.js'; // using greetPerson() defined in greet.js let displayName = greetPerson('Jack'); console.log(displayName); // Hello Jack
Tady,
greetPerson()
Funkce v greet.js je exportován pomocíexport
klíčového slovaexport function greetPerson(name) (… )
- Poté jsme
greetPerson()
pomocíimport
klíčového slova importovali do jiného souboru . Chcete-li importovat funkce, objekty atd., Musíte je zabalit( )
.import ( greet ) from '/.greet.js';
Poznámka : Z modulu máte přístup pouze k exportovaným funkcím, objektům atd. Chcete-li je export
importovat a použít v jiných souborech, musíte použít klíčové slovo pro konkrétní funkci, objekty atd.
Exportujte více objektů
Z modulu je také možné exportovat více objektů. Například,
V souboru module.js
// exporting the variable export const name = 'JavaScript Program'; // exporting the function export function sum(x, y) ( return x + y; )
V hlavním souboru
import ( name, sum ) from './module.js'; console.log(name); let add = sum(4, 9); console.log(add); // 13
Tady,
import ( name, sum ) from './module.js';
Tím se importuje jak proměnná názvu, tak sum()
funkce ze souboru module.js .
Přejmenování importu a exportu
Pokud jsou objekty (proměnné, funkce atd.), Které chcete importovat, již v hlavním souboru přítomny, program se nemusí chovat tak, jak chcete. V tomto případě program převezme hodnotu z hlavního souboru namísto importovaného souboru.
Abyste se vyhnuli konfliktům při pojmenovávání, můžete tyto funkce, objekty atd. Během exportu nebo během importu přejmenovat.
1. Přejmenujte v modulu (exportní soubor)
// renaming import inside module.js export ( function1 as newName1, function2 as newName2 ); // when you want to use the module // import in the main file import ( newName1, newName2 ) from './module.js';
Zde se při exportu funkce ze souboru module.js dají funkci nové názvy (zde newName1 & newName2). Proto se při importu této funkce používá nový název pro odkaz na tuto funkci.
2. Přejmenujte v importovaném souboru
// inside module.js export ( function1, function2 ); // when you want to use the module // import in the required file with different name import ( function1 as newName1, function2 as newName2 ) from './module.js';
Zde se při importu funkce použijí nové názvy (zde newName1 & newName2) pro název funkce. Nyní k odkazování na tyto funkce používáte nové názvy.
Výchozí export
Můžete také provést výchozí export modulu. Například,
V souboru greet.js :
// default export export default function greet(name) ( return `Hello $(name)`; ) export const age = 23;
Při importu pak můžete použít:
import random_name from './greet.js';
Při provádění výchozího exportu
- random_name je importováno z
greet.js
. Protožerandom_name
není vgreet.js
, výchozí export (greet()
v tomto případě) je exportován jakorandom_name
. - Můžete přímo použít výchozí export bez uzavření složených závorek
()
.
Poznámka : Soubor může obsahovat více exportů. V souboru však můžete mít pouze jeden výchozí export.
Moduly vždy používají přísný režim
Ve výchozím nastavení jsou moduly v přísném režimu. Například,
// in greet.js function greet() ( // strict by default ) export greet();
Výhoda používání modulu
- Údržba kódové základny je snazší, protože odlišný kód s různými funkcemi je v různých souborech.
- Umožňuje opětovné použití kódu. Můžete definovat modul a použít jej několikrát podle svých potřeb.
V některých prohlížečích nemusí být použití importu / exportu podporováno. Další informace najdete v podpoře importu a exportu JavaScriptu.