1
resposta

[Dúvida] Processo não gerou as pastas dentro de Dist.

Boa tarde tudo bem?

Realizei o procedimento que o professor falou e não gerou erro, porem dentro de dist como mencionado no video, não foi gerado novas pastas de (app/config) pode verificar se eu fiz algo errado ou se trata de atualização dos programas..?!!!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi, Deyvison! Como vai?

O tsc só cria pastas dentro de dist quando existe arquivo .js gerado. Se não houver nenhum .ts sendo compilado naquele caminho, a pasta não aparece (pastas vazias não são emitidas).

Pelo seu tsconfig.json, tem dois pontos importantes:

  1. Você configurou:
  • outDir: "dist/js"
    Isso faz o TypeScript gerar os arquivos em dist/js/... (e não direto em dist/...).
  1. Você limitou a compilação para:
  • include: ["app/**/*"]
    Então somente arquivos .ts dentro de app/ entram na compilação.

1) Confirme onde o output está sendo gerado

Veja se existe algo como dist/js/app/... (por exemplo dist/js/app/config/...).


# terminal (exemplo)
ls dist
ls dist/js
ls dist/js/app

O que esse comando faz: lista as pastas para você confirmar se o tsc colocou o build em dist/js/....

2) Garanta que existe .ts dentro de app/config

Se app/config não tiver nenhum .ts, o tsc não vai criar dist/.../config.

Veja este exemplo:


// app/config/configuracao.ts
export const configuracao = {
  ambiente: "dev"
};

O que esse código faz: cria um arquivo TypeScript dentro de app/config para o compilador gerar um .js e, aí sim, criar a pasta no dist.

Depois rode:


npm run compile

3) Se você quer que saia em dist/app/config (como no vídeo)

Ajuste seu tsconfig.json assim (mantendo a estrutura com app/... dentro de dist):


{
  "compilerOptions": {
    "outDir": "dist",
    "target": "ES6"
  },
  "include": ["app/**/*"]
}

O que esse código faz: troca o destino de dist/js para dist, então o output fica dist/app/....

4) Se você quer que saia em dist/config (sem a pasta app)

Use rootDir + outDir:


{
  "compilerOptions": {
    "rootDir": "app",
    "outDir": "dist",
    "target": "ES6"
  },
  "include": ["app/**/*"]
}

O que esse código faz: define app como raiz dos fontes, então app/config/... vira dist/config/....

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado