66
AluraFlix - Estruturando o projeto
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!
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.
66