Carregando
0xD0Lição 14 de 16

JavaScript fora do navegador: Node.js

Entenda o que um runtime de servidor faz e quais APIs pertencem a ele.

20 min Questionário com 4 perguntas 1 exercício de código
Ao final desta lição, você saberá
  • Diferenciar as APIs do navegador das APIs do Node.js
  • Rodar um arquivo .mjs local com node
  • Explicar por que um servidor pode acessar arquivos e credenciais privadas

JavaScript é uma linguagem; o runtime fornece o ambiente ao redor dela. Num navegador, esse ambiente inclui document, botões e o DOM da página. O Node.js roda JavaScript fora do navegador e fornece APIs de servidor, como node:fs para arquivos e node:http para HTTP. Os dois runtimes compartilham recursos da linguagem, como arrays, funções e Promises.

Experimente

Até 15 XP

Que runtime é o dono disto?

Classifique cada capacidade. Repare que os recursos da linguagem JavaScript pertencem aos dois runtimes.

0 de 5 classificadosPontuação 0/0
  • “document.querySelector()”

  • “import { readFile } from "node:fs/promises"”

  • “Array.prototype.map()”

  • “addEventListener num botão”

  • “JSON.parse()”

Rode um primeiro script em Node

Instale uma versão compatível do Node.js, salve o código a seguir como hello.mjs e rode node hello.mjs num terminal. A extensão .mjs usa módulos ECMAScript, então import funciona sem configuração de pacote. node:fs/promises lê um arquivo de forma assíncrona. O executor de exercícios do navegador não consegue acessar o seu disco, então rode este exemplo localmente.

hello.mjs (run locally with node hello.mjs)
1import { writeFile, readFile } from "node:fs/promises";
2await writeFile("hello.txt", "Hello from Node.js");
3const message = await readFile("hello.txt", "utf8");
4console.log(message);

O Node.js é usado para APIs web, ferramentas de linha de comando, ferramentas de build e tarefas em segundo plano. Ele tem um event loop e E/S assíncrona, então um processo pode continuar atendendo trabalho enquanto operações de arquivo ou de rede terminam. Comece pela introdução oficial ao Node.js.

Principais conclusões

  • JavaScript é a linguagem; o navegador e o Node.js fornecem APIs diferentes.

  • Use .mjs para um exemplo local de módulo ES amigável para iniciantes.

  • Mantenha as credenciais privadas no servidor e valide os dados que chegam.

Quiz da aula

4 perguntas · aprovação com 3 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Pratique: escreva código em JavaScript

Escreva o programa, execute-o com os casos de teste e use o retorno para desenvolver suas habilidades em JavaScript.

Exercício 1

Escolha o runtime certo

+25 XP

A entrada é uma lista de tarefas separadas por vírgula: button, file, array, server, page. Imprima browser para button/page, node para file/server e both para array. Este pequeno exercício roda no navegador; o exemplo de arquivo acima roda localmente no Node.

  • Tarefas misturadas
  • Compartilhado
main.js
Carregando editor…

O JavaScript roda em um frame isolado do navegador, com limite de 1,5 segundo. A entrada fica disponível na variável de string input.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…