JavaScript fora do navegador: npm, módulos e primeiros passos.
nodejs.orgnodejs.org$ brew install node
# Ubuntu/Debian
$ sudo apt update
$ sudo apt install nodejs npm
# Ou via nvm (recomendado)
$ nvm install --lts
$ node --version # ex: v20.11.0
$ npm --version # ex: 10.2.4
// Meu primeiro programa Node.js
const nome = "FATEC";
const ano = 2025;
console.log(`Olá, ${nome}!`);
console.log(`Ano: ${ano}`);
// Funcionalidades do Node.js
console.log("Diretório:", __dirname);
console.log("Arquivo:", __filename);
console.log("Processo:", process.version);
$ node app.js
Olá, FATEC!
Ano: 2025
Diretório: /Users/aluno/projeto
Arquivo: /Users/aluno/projeto/app.js
Processo: v20.11.0
node arquivo.js executa qualquer arquivo JavaScript no terminal.
node sem argumentos para executar JS linha a
linha.
# Criar um novo projeto
$ mkdir meu-projeto
$ cd meu-projeto
$ npm init -y
# Isso cria o package.json:
{
"name": "meu-projeto",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "node index.js"
}
}
# Instalar um pacote
$ npm install express
# Instalar como dependência de dev
$ npm install nodemon --save-dev
# Instalar globalmente
$ npm install -g vercel
# Instalar todas as dependências
# (após clonar um projeto)
$ npm install
# Desinstalar
$ npm uninstall express
node_modules/ no Git! Adicione ao .gitignore.
{
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"test": "echo \"Sem testes ainda\""
}
}
# Executar o script "start"
$ npm start
# Executar o script "dev"
$ npm run dev
# Executar o script "test"
$ npm test
start e test nao precisam do run. Outros scripts sim (npm run dev).
// utils.js — exportando
function somar(a, b) {
return a + b;
}
function saudacao(nome) {
return `Olá, ${nome}!`;
}
module.exports = { somar, saudacao };
// app.js — importando
const { somar, saudacao } = require('./utils');
console.log(somar(2, 3)); // 5
console.log(saudacao("Ana")); // Olá, Ana!
// utils.mjs — exportando
export function somar(a, b) {
return a + b;
}
export function saudacao(nome) {
return `Olá, ${nome}!`;
}
// app.mjs — importando
import { somar, saudacao } from './utils.mjs';
console.log(somar(2, 3));
console.log(saudacao("Ana"));
"type": "module" no package.json ou use
extensão .mjs.
const fs = require('fs');
// Ler um arquivo
const conteudo = fs.readFileSync(
'dados.txt', 'utf-8'
);
console.log(conteudo);
// Escrever em um arquivo
fs.writeFileSync(
'saida.txt',
'Olá, Node.js!'
);
const http = require('http');
const server = http.createServer(
(req, res) => {
res.writeHead(200, {
'Content-Type': 'text/html'
});
res.end('<h1>Olá, Node!</h1>');
}
);
server.listen(3000, () => {
console.log('http://localhost:3000');
});
path
caminhos de arquivo
os info do
sistema
url
parse de URLs
crypto
criptografia
events
eventos
node app.js manualmente
# Instalar
$ npm install nodemon --save-dev
# Usar
$ npx nodemon app.js
{
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
"devDependencies": {
"nodemon": "^3.0.0"
}
}
Fluxo de desenvolvimento:
node --version)exercicio-node e inicialize com npm init -yutils.js com pelo menos 2 funções exportadasapp.js que importa e usa as funçõesfs para salvar um resultado em um arquivo .txtnodemon e configure o script devExpress.js: rotas, middleware e arquitetura MVC.