NodeJS com Typescript SIM!

Como desenvolver uma API elegante com NodeJS — parte 1

Matheus Bessa
4 min readMay 9, 2020

Ao meu ver, a maioria das aplicações Node devem utilizar Typescript como sua Linguagem para desenvolvimento, exceto aos cenários onde a composição de aplicação seja bem enxuta e simples. Agora aplicações com um corpo maior, é preferível a utilização do Typescript.

Na teoria 📚👨🏻‍🎓👩🏼‍🎓

DISCLAIMER: Aqui vamos ressaltar alguns itens teóricos que serão úteis para o aprendizado pré implementação. Caso queira ver direto na prática, vá para o próximo título.

O que é o Typescript?

Typescript é um superset do Javascript que propõe a escrita de um código mais organizado, com abstrações melhores definidas para Programação Orientada a Objetos e com uma tipagem bem definida. Por ser um superset, o resultado do seu código é um código Javascript baseado no Typescript escrito.

Sim, é possível programar orientado a objetos com Javascript. Para mais detalhes, esse link da Mozilla pode explicar melhor.

Playground Typescript

No site oficial do Typescript é disponibilizado um playground onde fica claro o resultado de um código. Basta acessar o link e brincar um pouco.

Playground Typescript

Na prática ⚡👨🏻‍💻👩🏼‍💻

Então vamos lá para o início de nosso projeto:

Pré-requisitos

  • VSCode (ou editor de sua preferência)
  • Instale o Node (este projeto utilizará a versão 12.15.0)
  • Abra o seu terminal e instale o Typescript globalmente utilizando o comandonpm install typescript --save

Um Hello World

Abaixo temos um exemplo, onde é criado um arquivo Typescript que contém uma classe que no seu construtor chama uma função de print de Hello World.

TSC (TypeScript Compiler)

Para compilar o arquivo Typescript basta executar o comando tsc “nomeArquivo.ts”. Abaixo exemplo:

Arquivo .tsconfig

O arquivo .tsconfig vai nos auxiliar nas configurações gerais do Typescript dentro da nossa solução, como o local de saída da nossa compilação, a versão do ECMASCRIPT de saída, os arquivos que serão compilados e etc.

A seguir vemos a criação desse arquivo via tsc init, com uma simples configuração de saída para uma pasta chamada /dist :

Criando uma API

Em Node há diversos frameworks que permitem a criação de um server http, no qual possibilitam o desenvolvimento de uma API Restful com poucas linhas de código. O framework mais popular que faz esse papel é o Express, e é ele que utilizaremos.

ESLint + Typescript (extra)

Como você já deve saber, todo programador tem sua forma de desenvolver. Suas manias, habitos, formas de identar, formas de lidar com variaveis e etc. Esse tipo de realidade pode proporcionar uma catástrofe no código, conforme a quantidade de desenvolvedores envolvidos nele. E isso se dá porque não foi definido um padrão de código para ser seguido.

O ESLint é uma ferramenta que pode ajudar nesse sentido. A partir de um arquivo de configuração (.eslintrc), todo seu código passa por uma inspeção durante o desenvolvimento do seu código Javascript (ou Typescript), retornando os possíveis erros de código que comprometem o padrão definido de código. Legal né?

Dica: Se você já ouviu falar sobre o TSLint, ou já usa ele, saiba que ele está obsoleto e em migração ao ESLint. Saiba mais.

Abaixo temos uma rápida aplicação do ESLint com Typescript no nosso código:

Conclusão

Simples não é? O uso do Typescript não é difícil de implementar e trás muitas vantagens pro dia a dia do seu time. Vale a pena se aprofundar mais sobre a tecnologia e possibilidades em sua documentação oficial.

O código desenvolvido nesse artigo se encontra no seguinte repositório.

No próximo item falarei sobre o InversifyJS e sua proposta audaciosa para a comunidade Node.

Valeu! Abraços!

--

--