AluraFlix - Estruturando o projeto
Gabriel Amorim
Posted on July 28, 2021
Olá, meu nome é Gabriel Amorim e estou escrevendo esse artigo para acompanhar a segunda edição do Alura Challenges. Dessa vez a edição está sendo voltada para o back-end. Trata-se da construção de uma API para a consulta de vídeos. Irei postar os artigos conforme a realização dos desafios, e o post de hoje é voltado para a criação e estruturação inicial do projeto.
O desafio deixou livre as escolhas referentes a linguagem e tecnologias. Portanto decidi utilizar Node.js e TypeScript.
Sem muitas delongas, vamos ao código!
Iniciando o projeto
Vamos começar criando a pasta do projeto pelo terminal:
$ mkdir alura-flix
Entre na pasta criada:
$ cd alura-flix
Inicie o projeto com o comando:
$ yarn init -y
Isso criará o arquivo package.json
que é o ponto de partida de qualquer projeto em NodeJS. Ele é responsável por descrever o seu projeto, informar as engines (versão do node e do npm), url do repositório, versão do projeto, dependências de produção e de desenvolvimento dentre outras coisas.
Para saber mais sobre o package.json
acesse: https://gabrieluizramos.com.br/entendendo-o-package-json
O próximo passo é instalar o express:
$ yarn add express
Express.js é um micro-framework para aplicações web para Node.js, lançado como software livre e de código aberto sob a Licença MIT. É feito para otimizar a construção de aplicações web e API's. É um dos mais populares frameworks para servidores em Node.js.
Criar pasta na raiz chamada "src" que irá conter os arquivos do projeto.
Criar o arquivo server.ts
que irá definir a porta que será escutada. O básico é:
import express from 'express';
const app = express();
app.listen(3333, () => console.log("Server is running"));
Qualquer arquivo pode ser executado pelo terminal utilizado o comando:
$ node nome_do_arquivo.js
Porém como o node não entende a sintaxe de import
é necessário haver um tradutor para converter typescript em javascript, para isso é necessário instalar o typescript:
$ yarn add typescript -D
E agora inicializamos o typescript dentro da aplicação:
$ yarn tsc --init
Será criado um arquivo tsconfig.json
e nele será possível configurar o typescript de acordo com a sua necessidade.
Agora é necessário instalar o ts-node-dev
que irá traduzir o typescript para javascript:
$ yarn add ts-node-dev -D
Agora adicionamos um script no package.json
:
"scripts": {
"dev": "ts-node-dev src/server.ts"
},
Isso faz com que ao rodar o comando $ yarn dev
o ts-node-dev
execute o nosso arquivo server.ts
já o traduzindo para javascript.
Caso haja alguma aplicação rodando em node é só utilizar o comando:
$ pkill node
No script em que falei anteriormente, é possível passar algumas configurações como o --transpile-only
para não fazer a checagem de tipagem já que o próprio VSCode vai acusar o erro. O --respawn
serve para que o ts-node-dev fique observando alterações do código, para fazer o recarregamento automático da aplicação. A próxima flag é o --ignore-watch node_modules
fazendo com que a pasta node_modules seja ignorada. Ao final o script ficará assim:
"scripts": {
"dev": "ts-node-dev --transpile-only --respawn --ignore-watch node_modules src/server.ts"
},
Com isso temos a estrutura inicial do nosso projeto. Nos próximos posts mostrarei como configurar o eslint e o prettier para manter um estilo de código, como configurar o typeorm e mongodb na nossa aplicação. Te vejo em breve! Obrigado pela leitura até aqui.
Posted on July 28, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.