Skip to content

Commit 54b6f4d

Browse files
committed
feat: Add introduction to Node.js article in Portuguese-Brazil
1 parent a50cc89 commit 54b6f4d

File tree

2 files changed

+101
-1
lines changed

2 files changed

+101
-1
lines changed

apps/site/next-env.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/// <reference types="next" />
22
/// <reference types="next/image-types/global" />
33
/// <reference types="next/navigation-types/compat/navigation" />
4-
import './.next/types/routes.d.ts';
4+
import './.next/dev/types/routes.d.ts';
55

66
// NOTE: This file should not be edited
77
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
title: Introdução ao Node.js
3+
layout: learn
4+
authors: Lucas-Steffen
5+
---
6+
7+
# Introdução ao Node.js
8+
9+
Node.js é um ambiente de execução JavaScript de código aberto e multiplataforma. É uma ferramenta popular para praticamente qualquer tipo de projeto!
10+
11+
O Node.js executa o mecanismo JavaScript V8, o núcleo do Google Chrome, fora do navegador. Isso permite que o Node.js tenha um desempenho muito bom.
12+
13+
Um aplicativo Node.js é executado em um único processo, sem a necessidade de criar uma nova thread para cada requisição. O Node.js fornece um conjunto de primitivas de I/O assíncronas em sua biblioteca padrão que impedem o bloqueio do código JavaScript. Além disso, as bibliotecas em Node.js geralmente são escritas usando paradigmas não bloqueantes. Consequentemente, o comportamento de bloqueio é a exceção, e não a regra, no Node.js.
14+
15+
Quando o Node.js realiza uma operação de I/O, como ler da rede, acessar um banco de dados ou o sistema de arquivos, em vez de bloquear a thread e desperdiçar ciclos de CPU esperando, o Node.js retoma as operações quando a resposta é recebida.
16+
17+
Isso permite que o Node.js lide com milhares de conexões simultâneas em um único servidor sem a sobrecarga de gerenciar a concorrência de threads, o que poderia ser uma fonte significativa de bugs.
18+
19+
O Node.js possui uma vantagem única, pois milhões de desenvolvedores front-end que escrevem JavaScript para o navegador agora podem escrever o código do lado do servidor, além do código do lado do cliente, sem a necessidade de aprender uma linguagem completamente diferente.
20+
21+
No Node.js, os novos padrões ECMAScript podem ser usados ​​sem problemas, pois você não precisa esperar que todos os seus usuários atualizem seus navegadores — você decide qual versão do ECMAScript usar alterando a versão do Node.js, e também pode habilitar recursos experimentais específicos executando o Node.js com flags.
22+
23+
## Um exemplo de aplicação Node.js
24+
25+
O exemplo mais comum de "Olá Mundo" em Node.js é um servidor web:
26+
27+
```cjs
28+
const { createServer } = require('node:http');
29+
30+
const hostname = '127.0.0.1';
31+
const port = 3000;
32+
33+
const server = createServer((req, res) => {
34+
res.statusCode = 200;
35+
res.setHeader('Content-Type', 'text/plain');
36+
res.end('Hello World');
37+
});
38+
39+
server.listen(port, hostname, () => {
40+
console.log(`O servidor está rodando em http://${hostname}:${port}/`);
41+
});
42+
```
43+
44+
```mjs
45+
import { createServer } from 'node:http';
46+
47+
const hostname = '127.0.0.1';
48+
const port = 3000;
49+
50+
const server = createServer((req, res) => {
51+
res.statusCode = 200;
52+
res.setHeader('Content-Type', 'text/plain');
53+
res.end('Hello World');
54+
});
55+
56+
server.listen(port, hostname, () => {
57+
console.log(`O servidor está rodando em http://${hostname}:${port}/`);
58+
});
59+
```
60+
61+
Para executar este trecho de código, salve-o como um arquivo `server.js` e execute `node server.js` no seu terminal.
62+
Se você usar a versão mjs do código, deverá salvá-la como um arquivo. `server.mjs` e execute `node server.mjs` no seu terminal.
63+
64+
Este código inclui primeiro o Node.js [`http` module](https://nodejs.org/api/http.html).
65+
66+
O Node.js tem uma fantástica [standard library](https://nodejs.org/api/), Incluindo suporte de primeira classe para redes.
67+
68+
O método `createServer()` do `http` cria um novo servidor HTTP e o retorna.
69+
70+
O servidor está configurado para escutar na porta e no nome do host especificados. Quando o servidor estiver pronto, a função de retorno de chamada é invocada, neste caso, informando que o servidor está em execução.
71+
72+
Sempre que uma nova solicitação é recebida, o [`request` event](https://nodejs.org/api/http.html#http_event_request) é chamada, fornecendo dois objetos: uma solicitação (um [`http.IncomingMessage`](https://nodejs.org/api/http.html#http_class_http_incomingmessage) object) e uma resposta (uma [`http.ServerResponse`](https://nodejs.org/api/http.html#http_class_http_serverresponse) object).
73+
74+
Esses dois objetos são essenciais para lidar com a chamada HTTP.
75+
76+
O primeiro fornece os detalhes da requisição. Neste exemplo simples, ele não é usado, mas você poderia acessar os cabeçalhos e os dados da requisição.
77+
78+
O segundo é usado para retornar dados para quem fez a chamada.
79+
80+
Neste caso, com:
81+
82+
```js
83+
res.statusCode = 200;
84+
```
85+
86+
Definimos a propriedade `statusCode` como `200`, para indicar uma resposta bem-sucedida.
87+
88+
Definimos o cabeçalho `Content-Type`:
89+
90+
```js
91+
res.setHeader('Content-Type', 'text/plain');
92+
```
93+
94+
E fechamos a resposta, adicionando o conteúdo como um argumento para `end()`:
95+
96+
```js
97+
res.end('Hello World\n');
98+
```
99+
100+
Se você não fez isso ainda, então, [instale](https://nodejs.org/en/download) o Node.js.

0 commit comments

Comments
 (0)