ts-node-dev para TypeScript: guia completo com exemplos
Bem-vindo ao PythonLib! Neste artigo, vamos explorar detalhadamente a biblioteca ts-node-dev — uma ferramenta indispensável para o desenvolvimento moderno com TypeScript. Se você programa em TypeScript e está cansado de recompilar o código manualmente a cada alteração, este artigo é para você.
1. O que é e para que serve
ts-node-dev é uma utilitário para TypeScript que fornece recarga automática (hot reload) da sua aplicação. Ele reinicia o processo Node.js automaticamente sempre que você altera arquivos TypeScript. Isso acelera significativamente o desenvolvimento, eliminando a necessidade de parar e reiniciar manualmente o servidor ou script.
Por que isso é importante? Durante o desenvolvimento, você faz alterações constantes no código. Sem a recarga automática, você precisa:
- Parar o processo atual (Ctrl+C)
- Reiniciá-lo manualmente (npm start ou ts-node)
- Aguardar a compilação e inicialização
O ts-node-dev resolve esse problema. Ele monitora alterações nos arquivos do projeto e reinicia a aplicação instantaneamente. Diferente do nodemon (que funciona com JavaScript), o ts-node-dev entende TypeScript e usa o ts-node internamente para compilar "em tempo real". Isso o torna a escolha ideal para desenvolvimento de servidores, ferramentas CLI e qualquer aplicação Node.js em TypeScript.
2. Instalação
A instalação do ts-node-dev é feita através do npm (Node Package Manager). Recomenda-se instalá-lo como dependência de desenvolvimento, já que é necessário apenas durante o desenvolvimento.
# Instalação global (não recomendada)
npm install -g ts-node-dev
# Instalação como dependência de desenvolvimento no projeto (recomendada)
npm install --save-dev ts-node-dev
# Ou via yarn
yarn add --dev ts-node-dev
# Ou via pnpm
pnpm add -D ts-node-dev
Após a instalação, verifique se tudo funciona:
npx ts-node-dev --version
Se você vir o número da versão (por exemplo, 2.0.0), a instalação foi bem-sucedida.
3. Início rápido — exemplo mínimo funcional
Vamos criar uma aplicação TypeScript simples e executá-la com ts-node-dev.
Passo 1: Inicialização do projeto
mkdir my-ts-app
cd my-ts-app
npm init -y
npm install --save-dev typescript ts-node-dev @types/node
npx tsc --init
Passo 2: Crie o arquivo src/index.ts
// src/index.ts
const greet = (name: string): string => {
return `Olá, ${name}!`;
};
console.log(greet('PythonLib'));
console.log('Servidor está rodando...');
// Exportando algo como exemplo
export { greet };
Passo 3: Execute com ts-node-dev
npx ts-node-dev --respawn src/index.ts
Você deve ver:
[INFO] 15:30:00 ts-node-dev ver. 2.0.0 (using ts-node ver. 10.9.1, typescript ver. 5.3.3)
Olá, PythonLib!
Servidor está rodando...
Agora, altere o texto da saudação em src/index.ts e salve o arquivo. Você verá que o processo reinicia automaticamente e exibe o novo resultado.
4. Principais opções/comandos
ts-node-dev é uma ferramenta de linha de comando (CLI), não uma biblioteca com API. No entanto, ele possui diversas opções (flags) que podem ser consideradas como "comandos" de configuração. Vamos explorar 8 opções essenciais.
4.1 --respawn
Sintaxe: ts-node-dev --respawn [arquivo]
O que faz: Reinicia automaticamente o processo quando qualquer arquivo do projeto é alterado. Esta é a opção principal para recarga automática.
Exemplo prático:
npx ts-node-dev --respawn src/index.ts Também na biblioteca
Joi para JavaScript (Node.js): guia completo com exemplos
Biblioteca Padrão Go (Golang): Visão Geral Completa
Trabalhando com datas em Rust: visão geral das bibliotecas de tempo e data
Criptografia em C++: guia completo para criptografia e hash
Aprendizado de Máquina em PHP: visão geral das bibliotecas para integração de ML