Como executar TypeScript a partir da linha de comando: 3 maneiras práticas

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

Como executar TypeScript a partir da linha de comando: do simples ao profissional

\n\n

Você escreveu seu primeiro script em TypeScript. Tudo parece bonito: tipagem forte, sintaxe concisa, autocompletar na IDE. Mas quando você abre o terminal e digita node script.ts, o Node.js exibe um erro. Familiar?

\n\n

TypeScript é uma extensão do JavaScript, e o Node.js não consegue executar arquivos .ts diretamente. Neste artigo, vamos abordar todas as maneiras reais de executar TypeScript a partir da linha de comando. Você aprenderá a diferença entre execução rápida e compilação para produção, quando usar ts-node e quando usar tsx, e como não se confundir com as ferramentas.

\n\n

Baseamo-nos em uma pergunta popular do Stack Overflow (mais de 500 mil visualizações), mas fornecemos não apenas uma resposta, mas uma comparação completa das abordagens. Vamos lá!

\n\n

Por que o Node.js não entende TypeScript?

\n\n

Antes de correr para as ferramentas, vamos entender o essencial. Quando você escreve:

\n\n
const greet = (name: string): string => {\n  return `Hello, ${name}!`;\n};\nconsole.log(greet('PythonLib'));
\n\n

O Node.js vê : string e não sabe o que fazer com isso. JavaScript não suporta tipagem estática como parte da sintaxe. Portanto, o TypeScript precisa primeiro ser transpilado (convertido) para JavaScript, e só então executado.

\n\n

Existem duas abordagens fundamentalmente diferentes:

\n
    \n
  • Duas etapas: primeiro compilar com tsc script.ts, depois executar com node script.js.
  • \n
  • Uma etapa: usar utilitários que fazem ambas as ações para você "em tempo real" (compilação JIT).
  • \n
\n\n

Abordaremos ambas as opções, mas começaremos com a mais popular — a de uma etapa.

\n\n

Método 1: ts-node — o clássico do gênero

\n\n

ts-node é um mecanismo de execução TypeScript para Node.js. Ele compila o código na memória e o passa imediatamente para o Node.js. Esta é a maneira mais antiga e testada de executar TypeScript a partir da linha de comando sem complicações desnecessárias.

\n\n

Instalação e execução

\n\n
npm install -g ts-node typescript @types/node\nts-node script.ts
\n\n

Pronto. Seu arquivo será executado sem criar um arquivo JS intermediário. Nos bastidores, o ts-node usa o compilador TypeScript padrão (tsc), mas de forma transparente para o desenvolvedor.

\n\n

Exemplo: trabalhando com API

\n\n
// api-demo.ts\nimport axios from 'axios';\n\ninterface Post {\n  userId: number;\n  id: number;\n  title: string;\n}\n\nasync function fetchFirstPost(): Promise<Post> {\n  const response = await axios.get<Post>('https://jsonplaceholder.typicode.com/posts/1');\n  return response.data;\n}\n\nfetchFirstPost().then(post => console.log(post.title));\n// Saída: sunt aut facere repellat provident occaecati excepturi optio reprehenderit
\n\n

Executamos: ts-node api-demo.ts. O resultado aparece imediatamente no console.

\n\n

Prós e contras do ts-node

\n\n
    \n
  • + Simplicidade: um comando em vez de dois.
  • \n
  • + Suporte a tsconfig.json: todas as suas configurações do TypeScript são consideradas.
  • \n
  • + REPL: o comando ts-node sem argumentos abre um shell interativo do TypeScript.
  • \n
  • - Velocidade: a cada execução ocorre compilação, o que é perceptível em projetos grandes.
  • \n
  • - Consumo de memória: em execuções longas (por exemplo, em modo watch), pode consumir mais RAM.
  • \n
\n\n

Quando usar: para scripts, protótipos, pequenos utilitários. Se você precisa executar um arquivo TypeScript a partir da linha de comando rapidamente e sem configuração — ts-node é a sua escolha.

\n\n

Método 2: tsx — o sucessor moderno e rápido

\n\n

tsx (TypeScript Execute) é um utilitário mais novo,

Blogs

Book Recommendations