Experimentar o Node.js

Concluído

Nesta unidade, você cria e executa um script Node.js.

Inicie seu contêiner de desenvolvimento em um navegador

Um ambiente de contêiner de desenvolvimento está disponível com todas as dependências necessárias para concluir cada exercício neste projeto. Você pode executar o contêiner de desenvolvimento no GitHub Codespaces em um navegador ou localmente usando o Visual Studio Code.

O GitHub Codespaces executa um contêiner de desenvolvimento gerenciado pelo GitHub com o Visual Studio Code for the Web como interface do usuário. Para o ambiente de desenvolvimento mais simples, use o GitHub Codespaces para que você tenha as ferramentas e dependências de desenvolvedor corretas pré-instaladas para concluir este módulo de treinamento.

Importante

Todas as contas do GitHub podem usar o Codespaces por até 60 horas gratuitas por mês com 2 instâncias principais. Para obter mais informações, consulte GitHub Codespaces mensalmente incluído armazenamento e horas principais.

  1. Inicie o processo para criar um novo espaço de código GitHub na main ramificação do MicrosoftDocs/node-essentials repositório GitHub.

  2. Na página Criar espaço de código , revise as definições de configuração de espaço de código e selecione Criar espaço de código

    Captura de tela da tela de confirmação antes de criar um novo espaço de código.

  3. Aguarde até que o espaço de código inicie. Este processo de arranque pode demorar alguns minutos.

  4. Abra um novo terminal no codespace.

    Gorjeta

    Você pode usar o menu principal para navegar até a opção de menu Terminal e, em seguida, selecionar a opção Novo Terminal .

    Captura de tela da opção de menu codespaces para abrir um novo terminal.

REPL do Node.js

O Node.js tem um modo REPL (read-eval-print loop) incorporado que é útil para avaliar e experimentar código rapidamente. O modo REPL é um ambiente de consola interativo onde pode introduzir código JavaScript e o Node.js pode interpretá-lo, executá-lo e imprimir o resultado.

O modo REPL do Node.js funciona da seguinte forma:

  • Leia: lê e analisa a entrada de código JavaScript do usuário (ou mostra um erro se o código for inválido).
  • Eval: Avalia o código JavaScript inserido.
  • Impressão: Imprime os resultados computados.
  • Loop: Faz loops e aguarda que o usuário insira um novo comando (ou saia se o usuário digitar ctrl-c duas vezes).

Para iniciar o modo REPL, execute o node programa no terminal do contêiner de desenvolvimento.

Nota

Clique com o botão direito do >mouse em Colar para inserir um comando copiado no console REPL.

node

É aberto o ambiente REPL. Você deve ver o prompt REPL:

>

Digite o seguinte código no console REPL (clique com o botão direito do mouse em >Colar):

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

Este código imprime uma mensagem "Hello World, from the REPL." no console REPL:

Hello World, from the REPL.

Para sair do console REPL, digite Ctrl + C duas vezes.

Criar um script do Node.js

O Node.js também suporta a execução de código a partir de ficheiros.

  1. Crie uma nova pasta chamada hello-world no contêiner de desenvolvimento.

  2. Abra a nova pasta num terminal clicando com o botão direito do rato no nome da pasta e, em seguida, selecionando Abrir no Terminal Integrado.

  3. No terminal, inicialize o projeto do nó.

    npm init -y
    
  4. Instale um pacote node-fetch Node para fazer solicitações HTTP assíncronas.

    npm install node-fetch
    
  5. Abra o package.json arquivo e adicione a seguinte propriedade para permitir async/await de nível superior.

    "type":"module",
    
  6. Crie um arquivo chamado index.js na nova pasta.

  7. Copie o seguinte código para o arquivo index.js :

    console.log('Hello World, from a script file.');
    
  8. No terminal, digite o node comando seguido do nome do arquivo index.js:

    node index.js
    

    Deverá ver o seguinte resultado:

     Hello World, from a script file.
    

Executou o primeiro código JavaScript do Node.js.

  • Pergunta: A console.log é síncrona ou assíncrona?
  • Resposta: O console.log método aparece em desenvolvimento para ser executado imediatamente e, portanto, é assumido como assíncrono. Não há garantia de comportamento assíncrono para esse método, portanto, ele deve ser considerado síncrono. Como a execução de código pode ser bloqueada até que o console.log método seja concluído, você é advertido de manter console.log instruções em seu código em produção.

Adicionar uma função assíncrona de nível superior

O código assíncrono de nível superior a seguir solicita uma fonte de dados JSON HTTP e a exibe.

  1. Adicione o seguinte código ao arquivo para criar uma solicitação HTTP assíncrona index.js :

    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`);
    

    O https.get método faz uma solicitação HTTP para o site Node.js e retorna a resposta. O get método usa dois parâmetros: a URL para solicitar e uma função de retorno de chamada que é chamada quando a resposta é recebida. A função de retorno de chamada usa um único parâmetro, res, que é o objeto de resposta.

  2. Execute novamente o aplicativo:

    node index.js
    
  3. A ordem dos logs do console é a seguinte:

    start
    statusCode: 200
    end
    

A partir da saída, você pode ver o loop de eventos em ação. O método HTTP é chamado e colocado na fila de tarefas, aguardando que ele retorne. O loop de eventos assume a próxima tarefa, que é o método console.log.

Pare seu contêiner de desenvolvimento

Excluir o ambiente do GitHub Codespaces garante que você possa maximizar a quantidade de direitos de horas gratuitas por núcleo que você obtém para sua conta.

Importante

Para obter mais informações sobre os direitos da sua conta do GitHub, consulte Codespaces do GitHub mensalmente incluídos armazenamento e horas principais.

  1. Entre no painel do GitHub Codespaces (https://github.com/codespaces).

  2. Localize seus Codespaces atualmente em execução provenientes do MicrosoftDocs/node-essentials repositório GitHub.

    Captura de tela de todos os Codespaces em execução, incluindo seu status e modelos.

  3. Abra o menu de contexto do espaço de código e selecione Excluir.

    Captura de tela do menu de contexto para um único espaço de código com a opção de exclusão realçada.