NLW5 — TRILHA NODE JS
Atualmente estou participando da minha primeira NLW e ela surgiu em uma ótima hora, como estou iniciando uma nova oportunidade em minha careira, node será uma das tecnologias que irei usar.
A trilha é para pessoas que já possuem uma noção, pelo menos básica, o próprio Diego, fundador da Rocketseat comenta, é um projeto para te levar a outro nível.
Durante as aulas eu retiro algumas notas, segue algumas delas, lembrando que é imprescindível praticar:
Dia 01
- Iniciar um projeto:
yarn init -y
- Instalar dependências:
yarn add express yarn add @types/express -D yarn add typescript -D yarn add ts-node-dev -D
- Iniciar um projeto Typescript:
yarn tsc --init
Sugestão:Alterar a configuração de “strict” para false
- Estrutura inicial:
- Criar uma pasta
src
com o arquivoserver.ts
dentro.
.
├─── node_modules/
│ └─── …
├─── src/
│ └─── server.ts
├─── package.json
├─── tsconfig.json
└─── yarn.lock
- Incluir script em
package.json
:
{ // ..., "scripts": { "dev": "ts-node-dev src/server.ts" } // ... }
- Rodar o servidor
yarn dev
- Express
import express from “express”;
const app = express();
app.get(“/”, (req, res) => { return res.json({ message: “Olá Mundo!”, }); });
Dia 02
- Instalar o TypeORM e outras dependências
yarn add typeorm reflect-metadata sqlite3 uuid yarn add @types/uuid -D
- Criar o arquivo de configuração na raiz do projeto:
.
├─── ...
└─── ormconfig.json
{ "type": "sqlite", "database": "./src/database/database.sqlite", "migrations": ["./src/database/migrations/**.ts"], "entities": ["./src/entities/**.ts"], "cli": { "migrationsDir": "./src/database/migrations" } }
- Criar uma pasta
database
dentrosrc
e uma pastamigrations
dentro dedatabase
.
.
└─── src/
└─── database/
- Incluir
index.ts
emdatabase
index.ts
:
`import { createConnection } from “typeorm”;
createConnection();`
- Importar o database no servidor.
server.ts
:
`// import express from ‘express’;
import “./database”;
// const app = express();`
- Adicionar script ao
package.json
:
package.json
:
{ // ... "scripts": { "dev": "ts-node-dev src/server.ts", "typeorm": "ts-node-dev node_modules/typeorm/cli.js" } }
- Criar as migrations:
yarn typeorm migration:create -n CreateSettings
- Alterar no
tsconfig.json
- Habilitar
experimentalDecorators
- Habilitar
emitDecoratorMetadata
Dia 03
- Iniciar um websocket:
yarn add socket.io
- instalando as tripagens do socket.io para o typescript
yarn add @types/socket.io
- ntalando o modulo clint do socket no front da aplicação
yarn add socket.io-client
#NLW5