ts-node, lendo arquivos TypeScript com Node.js
Toda linguagem de programação necessita de alguma ferramenta que leia o que está sendo pedido em seus comandos e assim como qualquer linguagem, o JavaScript tem seu próprio interpretador, o Node.js.
Porém, para usuários mais avançados em JavaScript, muitas vezes eles preferem migrar para a utilização de seu superset, o TypeScript, que por sua vez não é interpretado diretamente pelo Node.js. Apesar de atualmente ter o seu próprio interpretador, o Deno, muitas vezes é preferivel usar o Node.js.
Com essa necessidade de interpretar os códigos escritos em TypeScript pelo próprio Node.js, foi desenvolvido um pacote chamado ts-node, que faz o papel de compilar os arquivos em TypeScript para JavaScript e interpretar esses arquivos.
Instalação
Primeiramente é importante criar um arquivo de package.json em seu projeto:
npm init -y
Em seus projetos instale o pacote do ts-node:
npm install ts-node
# ou
yarn add ts-node
Após a instalação do ts-node, vamos ver esse projeto teste para exemplificar como utilizar
Com isso você já tem o ts-node pronto para ser executado em seu projeto digitando o seguinte comando no terminal:
ts-node index.ts
E o resultado será
Agora basta criar um script em seu package.json para que ele seja executado no terminal de forma mais rápida.
Para isso será necessário mais alguns pacotes, como o typescript e o @types/node, instale eles:
npm install @types/node -D
npm install typescript
# ou
yarn add @types/node --save-dev
yarn add typescript
Seu package.json vai ficar mais ou menos assim:
{
"name": "ts-node-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "ts-node index.ts"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"ts-node": "^10.7.0",
"typescript": "^4.6.3"
},
"devDependencies": {
"@types/node": "^17.0.25"
}
}
Agora basta executar o seguinte comando em seu terminal:
npm start
E o resultado será
Após feito esses processos, qualquer aplicação em TypeScript poderá ser lida a partir do Node.js, sem necessitar a instalação do Deno ou qualquer outro programa, o que facilita bastante na hora de fazer seus setups de aplicações que necessitam do ts-node.