Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Compilador do typescript não gera os JS nas pastas

Boa noite pessoal,

não estou conseguindo configurar o typescript corretamente pq quando eu executo o compilador ele não gera os scripts nos subdiretórios corretamente, por exemplo:

-- app
    -- js
        -- teste
    -- ts
        -- teste
            Teste.ts

Quando eu crio o arquivo em ts > teste > Teste.ts eu espero que ele gere o JS em js > teste > Teste.js, mas ele está gerando em js > Teste.js.

Será que eu estou esquecendo alguma coisa nas minhas configurações??

Seguem os arquivos tsconfig.json e package.json respectivamente:

{
    "compilerOptions": {
        "target": "es6",
        "outDir": "app/js",
        "noEmitOnError": true,
        "noImplicitAny": true,
        "removeComments": true
    },
    "include": [
        "app/ts/**/*"
    ]
}
{
  "name": "phaser-typescript",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "compile": "tsc",
    "start": "tsc -w"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "typescript": "^2.3.2"
  }
}

Desde já agradeço a todos!

6 respostas

Qual OS e qual editor?

De qual pasta está chamando o compilador?

Uso Linux Fedora e o Visual Studio Code. Chamo o compilador na raiz do projeto

Qual versão do Node??? Curioso, é o primeiro aluno a ter esse problema. Vamos primeiro ver sua infra.

Outra pergunta. Se você tiver um erro de compilação no seu arquivo JS, ele não vai gerar nada dentro da pasta js. Daí me pergunto se o arquivo esta esta na pasta errada do js é um arquivo velho, que você mudou de lugar no seu ts. Então, se houver error de compilação, nada será gerado e você achará que o arquivo foi para o lugar errado.

Testei com suas configurações aqui e funcionou conforme mostro no vídeo.

Por isso preciso saber a versão do seu Node.js para ver se você esta usando as versões que solicito no curso.

solução!

A versão do node é 6.10.3 que vem quando eu instalo via dnf que é o gerencidor de pacotes do Fedora.

Uma coisa que eu observei foi o seguinte, eu fiz exatamente a configuração mostrada na aula com uma diferença, eu não criei o arquivo app.ts. Quando eu criei esse arquivo e adicionei o script no meu index.html foi que ele começou a adicionar os scripts nos lugares certos.