Experimentar o Node.js
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.
Inicie o processo para criar um novo espaço de código GitHub na
main
ramificação doMicrosoftDocs/node-essentials
repositório GitHub.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
Aguarde até que o espaço de código inicie. Este processo de arranque pode demorar alguns minutos.
Abra um novo terminal no codespace.
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.
Crie uma nova pasta chamada hello-world no contêiner de desenvolvimento.
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.
No terminal, inicialize o projeto do nó.
npm init -y
Instale um pacote
node-fetch
Node para fazer solicitações HTTP assíncronas.npm install node-fetch
Abra o
package.json
arquivo e adicione a seguinte propriedade para permitir async/await de nível superior."type":"module",
Crie um arquivo chamado index.js na nova pasta.
Copie o seguinte código para o arquivo index.js :
console.log('Hello World, from a script file.');
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 oconsole.log
método seja concluído, você é advertido de manterconsole.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.
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. Oget
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.Execute novamente o aplicativo:
node index.js
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.
Entre no painel do GitHub Codespaces (https://github.com/codespaces).
Localize seus Codespaces atualmente em execução provenientes do
MicrosoftDocs/node-essentials
repositório GitHub.Abra o menu de contexto do espaço de código e selecione Excluir.