ts-node-dev para TypeScript: guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

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

Recommendations