NodeJS
📚 Conteúdo Educacional
Domine NodeJS - Iniciante
Fundamentos do Node.js
O que é Node.js?
Node.js é um ambiente de execução JavaScript baseado no motor V8 do Chrome. Ele permite rodar JavaScript no servidor, possibilitando o desenvolvimento de aplicações escaláveis e de alto desempenho. Node.js é conhecido por seu modelo assíncrono e orientado a eventos, o que o torna ideal para aplicações em tempo real, como APIs, chats e streaming. Além disso, conta com o npm (Node Package Manager), que facilita a instalação e gerenciamento de bibliotecas e módulos.
Iniciando um Projeto
// Inicializar npm npm init -y // Estrutura básica ├── node_modules/ ├── package.json └── index.js
Módulos Principais
HTTP Module
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200);
res.end('Olá Mundo!');
});
server.listen(3000);
File System (fs)
const fs = require('fs');
// Ler arquivo
fs.readFile('arquivo.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
Gerenciamento de Pacotes
// package.json
{
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
"dependencies": {
"express": "^4.18.2"
}
}
Comandos Úteis:
-
Gerenciamento de Projetos
npm init -y- Inicia novo projeto Node.jsnpm install- Instala todas as dependênciasnpm install <pacote> --save- Instala e salva como dependêncianpm install -g <pacote>- Instala globalmente
-
Execução e Desenvolvimento
node app.js- Executa arquivo JavaScriptnpm run start- Executa script definidonodemon app.js- Recarregamento automáticonode --inspect app.js- Modo debugging
-
Dependências e Segurança
npm update- Atualiza todos os pacotesnpm outdated- Verifica desatualizadosnpm audit- Verifica vulnerabilidadesnpm audit fix- Corrige vulnerabilidades
-
Utilitários Avançados
npx create-react-app my-app- Executa pacote sem instalarnpm ci --only=production- Instala para produçãokillall node- Para todos processos NodeNODE_ENV=production node app.js- Define ambiente
Dica: Use
&& para múltiplos comandos:npm install && npm start
Criando API com Express
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.json({ mensagem: "API Funcionando!" });
});
app.listen(3000, () => {
console.log('Servidor rodando na porta 3000');
});
Configuração de Ambiente
.env
PORT=3000
DB_HOST=localhost
API_KEY=minha_chave_secreta
Uso no Código
require('dotenv').config();
const port = process.env.PORT;
console.log(`Porta: ${port}`);
Event Loop Architecture
Blocking I/O
const fs = require('fs');
const data = fs.readFileSync('file.txt'); // Bloqueante
console.log(data);
Non-blocking I/O
fs.readFile('file.txt', (err, data) => {
if (err) throw err;
console.log(data);
}); // Não bloqueante
Melhor prática: Sempre usar operações assíncronas para I/O
Streams e Buffer
const { Readable } = require('stream');
class MyReadable extends Readable {
_read(size) {
// Implementação da leitura
}
}
const stream = new MyReadable();
stream.pipe(process.stdout);
- Processamento de dados em tempo real
- Baixo consumo de memória
- Pipe para encadeamento de operações
Cluster Module
const cluster = require('cluster');
const os = require('os');
if (cluster.isMaster) {
const numCPUs = os.cpus().length;
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
} else {
// Código do worker
}
Escalabilidade horizontal utilizando múltiplos processos
Curso desenvolvido por Victor Lima
Conteúdo produzido sobre Ciência da Computação
Plataforma oficial: Guia do Programador
Canal no YouTube: @GuiadoProgramador
Conteúdo produzido sobre Ciência da Computação
Plataforma oficial: Guia do Programador
Canal no YouTube: @GuiadoProgramador
© 2025 FlashLearn
Todos os direitos reservados