1
resposta

Modificações para ajustar nova estrutura do projeto

Apenas uma dica com as modificações que fiz para ajustar a nova estrutura de pastas do projeto.

1) Estrutura de Pastas

  • Dentro da pasta app, criar uma pasta src e mover os arquivos do projeto typescript para lá.
  • Criar o arquivo index.html que será responsável apenas por redirecionar a requisição para app/dist/index.html
  • Deletar a pasta dist (arquivos javascript) que fica fora da pasta app para não causar confusão (os novos arquivos javascript irão para a pasta app/dist na primeira compilação).
AntesDepois
Estrutura de pastas antiga. Em app só havia os arquivos de trabalho typescriptNova estrutura de pastas. Em app temos uma subpastas src com os arquivos typescript e posteriormente teremos a pasta dist com os arquivos javascript

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="refresh" content="0;URL=/dist/index.html"/>
    <title>Redirect Page</title>
</head>
<body>
    Redirecting...
</body>
</html>

2) Modificar a estrutura dos diretórios de compilação

  • No arquivo tsconfig.json, modificar o atributo "outDir" para o caminho "app/dist/js", já que o objetivo é reunir dentro da pasta app os subdiretórios app/dist e app/src.
  • Ainda em tsconfig.json, modificar o atributo "include" para app/src/2asteriscos/asterisco, uma vez que os arquivos typescript estarão agora dentro de app/src/.
{
    "compilerOptions": {
      "module": "es6",
      "outDir": "app/dist/js",
      "target": "ES6",
      "noEmitOnError": true,
      "moduleResolution": "classic",
      "skipLibCheck": true,
      "noImplicitAny": true,
      "removeComments": true,
      "strictNullChecks": true
    },
    "include": ["app/src/**/*"]
  }

3) Modificar o diretório base do servidor Por fim, no arquivo package.json, modificar o script "server" para "lite-server --baseDir=app/dist"

{
  "name": "alurabank",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "server": "lite-server --baseDir=app/dist",
    "start": "concurrently \"npm run watch\" \"npm run server\"",
    "compile": "tsc",
    "watch": "tsc -w"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "concurrently": "^6.0.0",
    "lite-server": "^2.6.1",
    "typescript": "^4.2.2"
  }
}
1 resposta

Oi, Renan! Como vai?

Obrigada por compartilhar sua sugestão com a comunidade Alura!

Que bacana a forma como você organizou a estrutura de pastas para evitar confusão com os arquivos compilados! Alterar o "outDir" no tsconfig.json para app/dist/js é uma ótima prática para manter o projeto mais limpo.

Continue assim, ajudando a comunidade Alura!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!