Configuração do ambiente de desenvolvimento com TypeScript e Node.js
Node.js
Comando para inicializar app com Node.js, cria o arquivo package.json
npm init
Alterar o arquivo package.json
"main": "./dist/index.js",
"scripts": {
"start": "node ./"
},
Ao configurar apenas com ./ ele olha para o main.
Criar o diretório root src na raiz do projeto.
mkdir src
TypeScript
Instalar o typeScript globalmente.
npm install -g typescript
Configurar o typeScript, cria o arquivo tsconfig.json
tsc --init
Alterar o arquivo de configuração tsconfig.json
{
"compilerOptions": {
"target": "es2019",
"module": "commonjs",
"moduleResolution": "node",
"rootDir": "src", /* Diretório principal = Conjunto de scripts/files */
"typeRoots": [
"./src/@types",
"./node_modules/@types"
],
"outDir": "./dist", /* Diretório de saída = build, production */
"removeComments": true, /* Remover comentários durante a build */
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true, /* Sempre realizar as validações */
"skipLibCheck": true
}
}
Criar o arquivo principal index.ts dentro do diretório principal ./src, este será o servidor da app.
touch.exe src/index.ts
Criar o diretório ./src/@types
mkdir src/@types
Criar o diretório dist na raiz do projeto.TypeScript irá gerar os arquivos de build, os arquivos .js resultantes da transpilação dos arquivos .ts
mkdir dist
Instalar os @types do Node.js, biblioteca responsável pela transpilação do TypeScript para JavaScript.
npm install --save-dev typescript
npm install --save-dev @types/node
Created directory node_modules in project root.Adicionar script de build no package.json, aponta para o arquivo de configuração tsconfig.json
"scripts": {
"build": "tsc -p .",
}
Git
Criar arquivo .gitignore na raiz do projeto e configurar os diretórios dist e node_modules.
touch.exe .gitignore
OBS: Os diretórios ignorados ficarão com a cor cinza.
Execução em Tempo de Desenvolvimento
Comando para executar build, converter TypeScript para JavaScript e gerar os arquivos de produção.
npm run build
Comandos para executar a app.
npm start
npm run start