Au 02 - Back-end - Node.js - Criando o servidor - Mestres BEGIN
Neste tutorial, vamos configurar um projeto Node.js com TypeScript do zero, incluindo todas as ferramentas necessárias para um ambiente de desenvolvimento eficiente.
Inicializando o Projeto
Primeiro, inicializamos nosso projeto Node.js:
yarn init -y
Isso cria o arquivo package.json com configurações padrão.
Adicionando TypeScript
Instalamos TypeScript como dependência de desenvolvimento:
yarn add -D typescript
E inicializamos a configuração do TypeScript:
yarn tsc --init
Estrutura do Projeto
Criamos a seguinte estrutura básica:
- src/ - Código fonte TypeScript
- dist/ - Código JavaScript compilado
- .gitignore - Ignora node_modules e dist
Configurando o Ambiente
Adicionamos ferramentas essenciais:
ESLint
npx eslint --init
Configuramos para usar TypeScript e padrões JavaScript modernos.
EditorConfig
Criamos um arquivo .editorconfig para padronizar o estilo de código entre diferentes editores.
Configurando o Servidor
Instalamos o Express e seus tipos:
yarn add express yarn add -D @types/express
Criamos um servidor básico em src/index.ts:
1import express from "express";
2const app = express();
3const port = 3000;
4app.listen(port, () => {
5 console.log(`Server running on port ${port}`);
6});
Scripts do Package.json
Configuramos scripts úteis:
1"scripts": {
2 "build": "tsc",
3 "dev": "nodemon src/index.ts"
4}
Onde:
- build: Compila TypeScript para JavaScript
- dev: Roda o servidor com nodemon para desenvolvimento
Ferramentas Recomendadas
Para testar nossa API:
- Insomnia ou Postman - Para testar endpoints
- Nodemon - Para reiniciar automaticamente o servidor durante o desenvolvimento
- ts-node - Para executar TypeScript diretamente
Considerações Finais
Com essa configuração inicial, temos um ambiente de desenvolvimento robusto para nossa API com:
- TypeScript para tipagem estática
- ESLint para padronização de código
- Hot reload com nodemon
- Express para rotas da API
Nas próximas aulas, vamos expandir esta base adicionando:
- Conexão com banco de dados
- Sistema de rotas organizado
- Autenticação de usuários
- Validação de dados
Esta configuração inicial é fundamental para garantir um desenvolvimento consistente e produtivo ao longo do projeto.