Para se iniciar um projeto de Data Science de sucesso, é preciso saber por onde começar. Clique para ver os 5 passos principais.
Parte 1 – Crie uma API REST em NodeJS + TypeScript
Autora: Jakeliny Gracielly
Nesse tutorial vamos criar uma API RESTful em NodeJS utilizando typescript, vamos usar o exemplo de gerenciar clientes ao concluir vamos conseguir inserir, editar, deletar e listar os clientes. Vamos lá então!
- NodeJS
- NPM
- TypeScript
- MongoDB
- Postman
Dentro do terminal do NodeJS vamos iniciar nosso projeto criando uma pasta com o nome: clients e vamos entrar nessa pasta com o comando cd
mkdir clients && cd clients
Vamos iniciar o projeto com o commando: npm init
Irão aparecer algumas perguntas:
name: (clients)
version: (1.0.0)
description:
entry point: (index.js) server.ts
test command:
git repository:
keywords:
author: Jakeliny Gracielly
license: (ISC)
- Os valores que aparecem entre parênteses são os valores default, se nada for digitado o valor entre parênteses será preenchido
- Na pergunta entry point, vamos colocar server.ts será nosso arquivo de partida
- Em author vamos colocar nosso nome
Vamos instalar os pacotes necessários para nossa API funcionar:
npm install body-parser express mongoose
Esse comando vai instalar as dependências do projeto e gravar no package.json, não é necessário colocar -S ou –save, a partir da versão 5.0.0 do NodeJS os módulos são gravados automaticamente
Express é o framework que vamos usar, body-parser é o módulo que vai transformar as entradas e saídas em Json e mongoose faz a conexão com o MongoDB
Vamos instalar os pacotes necessários para desenvolvimento, são eles: typescript e o módulo typescript dos pacotes instalados no passo anterior:
npm install @types/body-parser @types/express @types/mongoose @types/node ts-node typescript -D
O -D no final do comando é igual a –only=dev, que salva os pacotes no package.json como dependência para desenvolvimento
Abra sua IDE favorita e abra o arquivo que foi criado package.json observe que os dados inseridos nas perguntas e os pacotes instalados estão todos referenciados.
Agora vamos configurar o compilador do typescript, crie um arquivo na raiz da pasta do nosso projeto com o nome tsconfig.json e adicione o conteúdo:
{
“compilerOptions”:{
“target”: “es5”,
“module”: “commonjs”,
“outDir”: “build”,
“typeRoots”: [
“../node_modules/@types”
],
“types”: [
“node”
]
},
“include”: [
“server/**/*.ts”,
“server/*.ts”
],
“exclude”: [
“node_modules”
],
“compileOnSave”: true,
“buildOnSave”: true
}
Nesse arquivo estamos:
- Colocando as opções de compilação do Type Script, queremos que ele transcreva todo o conteúdo para ES5 usando o módulo commonjs e passe tudo para a pasta build.
- Incluímos os arquivos da nossa futura pasta server e os arquivos de suas subpastas
- Deixamos de fora da compilação os arquivos da node_modules
- Por último dizemos que quando salvarmos algum arquivo .ts o typescript ja compila e “builda” esses arquivos
Vamos criar a pasta server:
mkdir server
Vamos criar os arquivos app.ts e server.ts dentro da pasta server:
touch server/{app,server}.ts
Vamos abrir o arquivo app.ts em nossa IDE e colocar o conteúdo:
import * as express from ‘express’;
class App{
public app: express.Application;
constructor(){
this.app = express();
this.routes();
}
routes(){
this.app.route(‘/’).get((req, res) => res.status(200).json({ ‘message’: ‘Hello world!’ }));
}
}
export default new App();
Agora no arquivo server.ts e configurar para nossa aplicação rodar na porta 5000
import App from ‘./app’;
App.app.listen(5000, () => console.log(‘servidor rodando, porta: 5000’));
Agora nosso servidor está pronto, vamos fazer uma pequena configuração no package.json, vamos localizar a linha onde está o comando script: {…} e adicionamos dentro da chave comando “start”
“scripts”: {
“test”: “echo \”Error: no test specified\” && exit 1″,
“start”: “NODE_ENV=development ./node_modules/.bin/ts-node ./server/server.ts”
},
Agora no terminal do Node dentro da pasta do projeto vamos rodar o comando:
npm start
Se não der nenhum erro, abra o endereço http://localhost: 5000 no seu navegador preferido, você deve conseguir ver o resultado a seguir:
Nosso server está respondendo e funcionando sem erros, no próximo artigo vamos começar a desenvolver nossas funções?
Aguarde o post da segunda parte.
Comments (0)