Você que está começando a aprender a Typescript e se perguntou como integrar essa ferramenta em seus projetos NodeJS. Eu venho aqui lhe guiar em como configurar um bom Setup inicial passo a passo.
Criando o nosso ambiente inicial
Crie em uma pasta/diretório em algum local do seu computador utilizando alguma Interface gráfica ou pelo terminal ( Recomendo você usar o "Git Bash" se estiver usando Windows ).
mkdir node-with-typescript
cd node-with-typescript
Com seu editor de código preferido, abra a pasta/diretório ( Eu irei utilizar o Visual Studio Code ).
# Você tem que está dentro da pasta "node-with-typescript"
code .
por fim, inicialize seu projeto com o NPM ( ou com Yarn se preferir ).
# NPM
npm init -y
# yarn
yarn init -y
Você verá seu package.json
criado. Ótimo, isso é o ponto de start para nosso setup 🚀.
Configurando o Typescript no projeto
Agora que temos nosso setup inicializado com Node, precisamos instalar o Typescript e configurar o ambiente para que o Node possa entende-lo.
Vamos começar instalando o Typescript e suas tipagens para o Node
# NPM
npm i -D typescript @types/node
# yarn
yarn add -D typescript @types/node
Depois, crie o arquivo tsconfig.json
na raiz do seu projeto com as seguinte configurações:
{
"exclude": ["node_modules", "dist"],
"include": ["src"],
"compilerOptions": {
"target": "ES2020",
"isolatedModules": true,
"moduleResolution": "Node",
"resolveJsonModule": true,
"baseUrl": "./",
"allowSyntheticDefaultImports": true,
"strict": true,
"outDir": "./dist",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"sourceMap": true,
"lib": ["ESNext"],
"strictPropertyInitialization": false,
"skipLibCheck": true,
"paths": {},
"module": "CommonJS",
"noImplicitAny": false,
"noFallthroughCasesInSwitch": false,
"typeRoots": ["./src/@types", "./node_modules/@types"]
}
}
OBS: Se você quiser saber mais sobre o que cada configuração acima faz, de uma olhada na documentação do próprio Typescript.
Em seguida, crie uma pasta na raiz do seu projeto chamada src
e um arquivo de entrada qualquer ( poderia ser index.ts
)
// src/index.ts
export {}
console.log('Hello Dev :D')
Se você tentar executar esse arquivo com node, provavelmente, vai ser gerado um erro na seu console.
Isso acontece pois o NodeJS apenas consegue interpretar arquivos .js
. Para resolvemos isso, basta instalar um pacote que possibilitara entender arquivos .ts
# NPM
npm i -D ts-node-dev
# yarn
yarn add -D ts-node-dev
Agora é só criar um script no package.json
e executar o comando no terminal.
{
// ...
"scripts": {
"dev": "tsnd --clear --ignore-watch node_modules --transpile-only --respawn src/index.ts",
},
// ...
}
# NPM
npm run dev
# yarn
yarn dev
Pronto :) Seu NodeJS já consegue entender o Typescript 🥳🎇
Gerando um build do seu projeto
Ok, você já configurou seu setup ( por enquanto, de uma forma bem básica ) com Typescript. Mas, como já havia sido dito, o Node só entende arquivos .js
, você vai usar Typescript apenas quando você esta desenvolvendo.
Em produção, você vai transformar seu código Typescript para Javascript e o Node vai entender ele nativamente.
Já configuramos o nosso tsconfig.json
com as configurações de compilação. Apenas vamos criar dois script no package.json
e executar no terminal.
{
// ...
"scripts": {
"dev": "tsnd --clear --ignore-watch node_modules --transpile-only --respawn src/index.ts",
"build": "rm -rf ./dist && tsc",
"start": "node ./dist"
},
// ...
}
# NPM
npm run build
npm start
# yarn
yarn build
yarn start
Vai ser gerado na raiz do seu projeto, uma pasta chamada dist
contendo o nosso código Typescript compilado para Javascript e pronto para produção 😎
Se eu te ajudei em algo, comente 😁
Top comments (5)
Ai sim em parabéns pela explicação, grande sucesso AugustoTI. : )
Ok
Ok
Ok
Ok