Vyzkoušejte si Node.js
V této lekci vytvoříte a spustíte Node.js skript.
Spuštění vývojového kontejneru v prohlížeči
Vývojové prostředí kontejneru je k dispozici se všemi závislostmi potřebnými k dokončení každého cvičení v tomto projektu. Vývojový kontejner můžete spustit v GitHub Codespaces v prohlížeči nebo místně pomocí editoru Visual Studio Code.
GitHub Codespaces spouští vývojový kontejner spravovaný GitHubem pomocí editoru Visual Studio Code pro web jako uživatelského rozhraní. Pro nejjednodušší vývojové prostředí použijte GitHub Codespaces, abyste měli předinstalované správné vývojářské nástroje a závislosti k dokončení tohoto trénovacího modulu.
Důležité
Všechny účty GitHubu můžou každý měsíc používat Codespaces až 60 hodin zdarma se 2 jádrovými instancemi. Další informace najdete v tématu GitHub Codespaces měsíčně zahrnuté úložiště a hodiny jádra.
Spusťte proces vytvoření nového prostředí GitHub Codespace ve
main
větviMicrosoftDocs/node-essentials
úložiště GitHub.Na stránce Vytvořit kódspace zkontrolujte nastavení konfigurace codespace a pak vyberte Vytvořit codespace.
Počkejte, až se prostor kódu spustí. Tento proces spuštění může trvat několik minut.
Otevřete nový terminál v codespace.
Režim REPL v Node.js
Součástí Node.js je integrovaný režim REPL (smyčka čtení-vyhodnocení-tisk), který se hodí pro rychlé vyhodnocování kódu a experimentování. Jedná se o prostředí interaktivní konzoly, kde můžete zadat javascriptový kód a nechat ho v Node.js interpretovat, provést a nakonec vytisknout výstup.
Režim REPL v Node.js funguje takto:
- Čtení: Čte a parsuje vstup kódu JavaScriptu uživatele (nebo zobrazí chybu, pokud je kód neplatný).
- Vyhodnocení: Vyhodnotí zadaný kód JavaScriptu.
- Tisk: Vytiskne vypočítané výsledky.
- Smyčka: Smyčky a čeká, až uživatel zadá nový příkaz (nebo ukončí, pokud uživatel dvakrát zadá ctrl-c ).
Pokud chcete spustit režim REPL, spusťte node
program v terminálu vývojového kontejneru.
Poznámka:
Pomocí pravého tlačítka >Vložit zadejte zkopírovaný příkaz v konzole REPL.
node
Otevře se prostředí REPL. Měla by se zobrazit výzva REPL:
>
Do konzoly REPL zadejte následující kód (klikněte pravým tlačítkem myši na >Vložit):
console.log('Hello World, from the REPL.')
Tento kód v konzole REPL vypíše zprávu Hello World z REPL:
Hello World, from the REPL.
Konzolu REPL ukončíte tak, že dvakrát zadáte Ctrl+C.
Vytvoření skriptu Node.js
Node.js podporuje také spouštění kódu ze souborů.
Vytvořte novou složku s názvem hello-world v vývojovém kontejneru.
Otevřete novou složku v terminálu tak, že kliknete pravým tlačítkem myši na název složky a pak vyberete Otevřít v integrovaném terminálu.
V terminálu inicializujete projekt uzlu.
npm init -y
Nainstalujte balíček Node a
node-fetch
proveďte asynchronní požadavky HTTP.npm install node-fetch
package.json
Otevřete soubor a přidejte následující vlastnost, která povolí asynchronní/await nejvyšší úrovně."type":"module",
V nové složce vytvořte soubor s názvem index.js .
Do souboru index.js zkopírujte následující kód:
console.log('Hello World, from a script file.');
V terminálu zadejte
node
příkaz následovaný názvem souboru index.js:node index.js
Měl by se zobrazit následující výstup:
Hello World, from a script file.
Právě jste spustili svůj první javascriptový kód Node.js.
- Otázka: Je console.log synchronní nebo asynchronní?
- Odpověď: Metoda
console.log
se objeví ve vývoji, aby se spustila okamžitě, a proto se předpokládá, že je asynchronní. Pro tuto metodu neexistuje žádná záruka asynchronního chování, takže se musí považovat za synchronní. Vzhledem k tomu, že provádění kódu může blokovat, dokudconsole.log
se metoda nedokončí, budete upozorněni na zachováníconsole.log
příkazů v kódu v produkčním prostředí.
Přidání asynchronní funkce nejvyšší úrovně
Následující asynchronní kód nejvyšší úrovně vyžaduje zdroj dat HTTP JSON a pak ho zobrazí.
Přidejte do
index.js
souboru následující kód, který vytvoří asynchronní požadavek HTTP:import fetch from 'node-fetch'; console.log(`start`); try { const res = await fetch('https://github.com/MicrosoftDocs/node-essentials'); console.log('statusCode:', res.status); } catch (error) { console.log(`error: ${error}`); } console.log(`end`);
Metoda
https.get
vytvoří požadavek HTTP na web Node.js a vrátí odpověď. Metodaget
přebírá dva parametry: adresu URL k vyžádání a funkci zpětného volání, která se volá při přijetí odpovědi. Funkce zpětného volání přebírá jeden parametr,res
což je objekt odpovědi.Znovu spusťte aplikaci:
node index.js
Pořadí protokolů konzoly je následující:
start statusCode: 200 end
Ve výstupu uvidíte smyčku událostí v akci. Volá se metoda HTTP a vkládá se do fronty úloh a čeká na vrácení. Smyčka událostí přebírá další úlohu, což je metoda console.log.
Zastavení vývojového kontejneru
Odstraněním prostředí GitHub Codespaces zajistíte, že můžete maximalizovat nárok na počet bezplatných hodin za jádro, které získáte pro svůj účet.
Důležité
Další informace o oprávněních účtu GitHub najdete v tématu GitHub Codespaces měsíčně zahrnuté hodiny úložiště a jádra.
Přihlaste se k řídicímu panelu GitHub Codespaces (https://github.com/codespaces).
Vyhledejte aktuálně spuštěné Codespaces zdrojové z
MicrosoftDocs/node-essentials
úložiště GitHub.Otevřete místní nabídku pro codespace a vyberte Odstranit.