Como criar API com Node.js e TypeScript
Neste tutorial, será explicado como criar uma API com Node.js e TypeScript.
Primeiramente, abordaremos o uso do Express com TypeScript.
Em seguida, será apresentado o processo de criação de rotas na API.
Por fim, será demonstrado como executar a API criada com Node.js.
Download do código fonte desenvolvido na aula: Download
Lista completa de aulas sobre Node.js e TypeScript: Acessar
Como instalar Node.js: Acessar
Curso Full Stack de React e Node.js: Mais detalhes
Para criar a API é necessário ter o Node.js instalado.
Primeiro, é criado o arquivo package.json com o comando:
npm init
Em seguida, instalado o Express para gerenciar as requisições, rotas, URLs e outras funcionalidades:
npm i express
Também é necessário instalar os pacotes para suporte ao TypeScript:
npm i --save-dev @types/express
npm i --save-dev @types/node
Instalar o compilador para o projeto com TypeScript:
npm i --save-dev ts-node
Gerar o arquivo de configuração para o TypeScript:
npx tsc --init
Será gerado o arquivo tsconfig.json. No arquivo, adicionar o código abaixo:
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true
}
}
Criar o arquivo src/index.ts, no qual será utilizado o Express para criar a rota e iniciar o servidor:
// Importar a biblioteca Express
import express, { Request, Response } from "express";
// Criar a aplicação Express
const app = express();
// Criar a rota GET principal
app.get("/", (req: Request, res: Response) => {
res.send("Bem-vindo Celke!");
});
// Iniciar o servidor na porta 8080
app.listen(8080, () => {
console.log("Servidor iniciado na porta 8080: http://localhost:8080");
});
É necessário compilar o arquivo TypeScript:
npx tsc
Por fim, execute o arquivo gerado no diretório dist:
node dist/index.js
Para ver o resultado, acessar a URL:
http://localhost:8080
Baixar o código-fonte completo do projeto.
Bom, era isso. Espero que o tutorial tenha sido útil!