Node.js uitproberen

Voltooid

In deze les maakt en voert u een Node.js script uit.

Uw dev-container starten in een browser

Een ontwikkelcontaineromgeving is beschikbaar met alle afhankelijkheden die nodig zijn om elke oefening in dit project te voltooien. U kunt de ontwikkelcontainer uitvoeren in GitHub Codespaces in een browser of lokaal met behulp van Visual Studio Code.

GitHub Codespaces voert een ontwikkelcontainer uit die wordt beheerd door GitHub met Visual Studio Code voor het web als de gebruikersinterface. Voor de eenvoudigste ontwikkelomgeving gebruikt u GitHub Codespaces zodat u de juiste ontwikkelhulpprogramma's en afhankelijkheden vooraf hebt geïnstalleerd om deze trainingsmodule te voltooien.

Belangrijk

Alle GitHub-accounts kunnen Codespaces elke maand maximaal 60 uur gratis gebruiken met 2 kernexemplaren. Zie GitHub Codespaces maandelijks inbegrepen opslag- en kernuren voor meer informatie.

  1. Start het proces om een nieuwe GitHub Codespace te maken op de main vertakking van de MicrosoftDocs/node-essentials GitHub-opslagplaats.

  2. Controleer op de pagina Codespace maken de configuratie-instellingen voor codespace en selecteer vervolgens Codespace maken

    Schermopname van het bevestigingsscherm voordat u een nieuwe coderuimte maakt.

  3. Wacht tot de coderuimte is gestart. Dit opstartproces kan enkele minuten duren.

  4. Open een nieuwe terminal in de codespace.

    Tip

    U kunt het hoofdmenu gebruiken om naar de menuoptie Terminal te navigeren en vervolgens de optie Nieuwe terminal te selecteren.

    Schermopname van de menuoptie codespaces om een nieuwe terminal te openen.

REPL van Node.js

Node heeft een ingebouwde modus read-eval-printlus (REPL) die handig is voor snelle evaluatie van code en experimenteren. REPL-modus is een interactieve consoleomgeving waarin u JavaScript-code kunt invoeren en Node.js dit kunt laten interpreteren en de code kunt laten uitvoeren en de uitvoer afdrukken.

De Node.js-REPL-modus werkt als volgt:

  • Lezen: Leest en parseert de JavaScript-code-invoer van de gebruiker (of geeft een fout weer als de code ongeldig is).
  • Eval: evalueert de ingevoerde JavaScript-code.
  • Afdrukken: De berekende resultaten afdrukken.
  • Lus: Lussen en wacht totdat de gebruiker een nieuwe opdracht invoert (of wordt afgesloten als de gebruiker tweemaal ctrl-c invoert).

Als u de REPL-modus wilt starten, voert u het node programma uit in de terminal van de dev-container.

Notitie

Klik met de rechtermuisknop op >Plakken om een gekopieerde opdracht in de REPL-console in te voeren.

node

De REPL-omgeving wordt geopend. U ziet nu de REPL-prompt:

>

Voer de volgende code in de REPL-console in (klik met de rechtermuisknop op >Plakken):

console.log('Hello World, from the REPL.')

Met deze code wordt een bericht 'Hallo wereld, uit de REPL'- bericht in de REPL-console afgedrukt:

Hello World, from the REPL.

Als u de REPL-console wilt afsluiten, voert u Tweemaal Ctrl+C in.

Een Node.js-script maken

Node.js biedt ook ondersteuning voor het uitvoeren van code uit bestanden.

  1. Maak een nieuwe map met de naam hello-world in de dev-container.

  2. Maak een bestand met de naam index.js in de nieuwe map.

  3. Kopieer de volgende code naar het index.js-bestand :

    console.log('Hello World, from a script file.');
    
  4. Open de nieuwe map in een terminal door met de rechtermuisknop op de mapnaam te klikken en vervolgens Openen te selecteren in Geïntegreerde terminal.

  5. Voer in de terminal de node opdracht in, gevolgd door de naam van het bestand index.js:

    node index.js
    

    U moet de volgende uitvoer zien:

     Hello World, from a script file.
    

U hebt nu uw eerste Node.js JavaScript-code uitgevoerd.

  • Vraag: Is console.log synchroon of asynchroon?
  • Antwoord: De console.log methode wordt in ontwikkeling weergegeven om onmiddellijk uit te voeren en wordt daarom verondersteld asynchroon te zijn. Er is geen garantie voor asynchroon gedrag voor deze methode, dus deze moet worden beschouwd als synchroon. Omdat de uitvoering van de code kan blokkeren totdat de console.log methode is voltooid, moet u voorzichtig zijn met het bewaren console.log van instructies in uw code in productie.

Een asynchrone functie toevoegen

De volgende asynchrone code op het hoogste niveau vraagt een HTTP JSON-gegevensbron aan en geeft deze weer.

  1. Voeg de volgende code toe aan het index.js bestand om een asynchrone HTTP-aanvraag te maken:

    const https = require('https');
    
    console.log(`start`);
    
    try{
        const res = await https.get('https://nodejs.org/dist/index.json');
    
        console.log(res.statusCode);
    } catch( error ){
        console.log(error);
    }
    
    console.log(`end`);
    

    De https.get methode doet een HTTP-aanvraag naar de Node.js website en retourneert het antwoord. De get methode gebruikt twee parameters: de URL die moet worden aangevraagd en een callback-functie die wordt aangeroepen wanneer het antwoord wordt ontvangen. De callback-functie heeft één parameter, reshet antwoordobject.

  2. Voer de toepassing opnieuw uit:

    node index.js
    
  3. De volgorde van de consolelogboeken is als volgt:

    start
    end
    200
    

In de uitvoer ziet u de gebeurtenislus in actie. De HTTP-methode wordt aangeroepen en in de taakwachtrij geplaatst en wacht tot deze wordt geretourneerd. De gebeurtenislus neemt de volgende taak, de console.log methode.

Uw dev-container stoppen

Als u de GitHub Codespaces-omgeving verwijdert, zorgt u ervoor dat u de hoeveelheid gratis rechten per kernuren kunt maximaliseren die u voor uw account krijgt.

Belangrijk

Zie GitHub Codespaces maandelijks inbegrepen opslag- en kernuren voor meer informatie over de rechten van uw GitHub-account.

  1. Meld u aan bij het GitHub Codespaces-dashboard (https://github.com/codespaces).

  2. Zoek uw momenteel uitgevoerde Codespaces die afkomstig zijn uit de MicrosoftDocs/node-essentials GitHub-opslagplaats.

    Schermopname van alle actieve Codespaces, inclusief hun status en sjablonen.

  3. Open het contextmenu voor de coderuimte en selecteer Verwijderen.

    Schermopname van het contextmenu voor één coderuimte met de optie Verwijderen gemarkeerd.