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

Watcher TS

Boa tarde,

Quando crio um arquivo TS novo, ele não compila para Javascript, tenho que dar um stop no node e rodar novamente o npm start dentro do client, ai ele compila o TS.

Meu SO é linux.

Alguma dica?

14 respostas

Epa...isso não deveria acontecer!!!!! Amanhã faço um teste no linux para saber se é algo isolado. Eu uso Mac e não tenho linux aqui.

Qual versão do Node você tem instalada e qual editor? Importante me dar essas duas respostas.

Oi Antonio, aguardo seu retorno...

Oi Flávio,

Obrigado pelo retorno.

VSCode e node 5, será que pode ser a versão do Node?

Hum, é algo a se investigar. Você tem como atualizar para a versão 6.X mais nova? Mas antes quero um novo teste.

Só para a gente ter certeza. Você roda o npm start dentro de alurapic/client o serviço de compilação em tempo real roda. Você altera arquivos, mas eles não são atualizados, isto é, o arquivo ts não gera um novo arquivo .js.

Tem como você fazer um teste bobo para mim só para desencargo de consciência? É que sou igual a São Tomé, só acredito vendo.

Roda o serviço do TypeScript...crie um arquivo novo .ts e defina uma classe apenas. Salve. Veja se o arquivo foi gerado, não pelo VSCode, mas por fora..olhando no sistema de arquivo. Se foi, altera o nome da classe e verifica por dentro do VSCode se o arquivo JS tem agora o mesmo nome da sua classe.

Aguardo seus testes!

uso linux aqui também, e já tinha percebido isso,

oque ocorre é que ele compila o componente só depois que é colocado uma referencia dele no app.module.ts, antes disso não transpila nada

Oi Adriano Moreira, testei aqui no linux funcionou, sem a necessidade de colocar em app.module.ts. Aliás, faço isso no vídeo, criando primeiro um component,e transcompilando e só depois crio o módulo.

Pessoal, só tem que estar ligado é que se houver algum erro de sintaxe nenhum arquivo é transcompilado. O TypeScript só vai compilar o arquivo se ele estiver com a sintaxe correta. Sendo assim, os arquivos js continuaram velhos. Tem que estar tudo direitinho para que os novos arquivos sejam compilados.

Aguardando seu teste Antonio.

Angular 2 é muita emoção. Por isso quero verificar direitinho o caso de vocês :)

Pessoal, acabei de fazer mais um teste n Ubuntu. Fiz alterações e o arquivo foi gerado perfeito. Mas cuidado ao fazerem o teste, se você alterem o arquivo e ele ficar com erro de sintaxe não vai gerar js. É até bom vocês olharem no console para ver se a alteração de teste de você esta correta.

Então, um detalhe é que o Ubuntu que testei usa Node 6.X.

Antonio, aguardo seu teste. Se continuar o problema, atualiza para o Node 6.X .

Boa tarde amigos,

Atualizei para node 6x, alterei os arquivos TS e ele atualizou, compilando estes novamente.

Porém, ao criar arquivos NOVOS, ele não identifica, tenho que parar o npm e startar novamente, desde forma ele acha os novos arquivos e compila.

Testei fora do VSCode e com a versão 7 do Node, mesmo problema..

Que estranho...

Distributor ID: Ubuntu Description: Ubuntu 15.10

Obrigado pelas informações Antonio e Adriano!

Oi Pessoal, depois de muito pesquisar vamos lá.

No MAC e no Windows, tudo funciona como no vídeo. Contudo, no LINUX, os arquivos só serão compilados se fizerem parte de um módulo como o Adriano Moreira disse.

O comportamento deveria ser o mesmo tem todas as plataformas, mas isso não vai atrapalhá-los, até porque, se você cria um arquivo ts que não é carregado pela sua aplicação, faz até sentido ele não ser compilado para não gastar tempo do transpiler.

Sendo assim, quando você criarem um componente e e associá-los a um módulo e esses módulo ao módulo principal da aplicação tudo será compilado.

Podem continuar o curso normalmente que vou colocar isso em um exercício. Como não uso Linux, isso passou batido por mim galera, peço desculpas por qualquer transtorno.

solução!

Alunos, esse exercício deixa claro essa situação?

https://cursos.alura.com.br/course/angular2-parte1/task/21893

Ajudaria vocês caso tivessem feito ele antes?

Ah, não usem Node 7.0! É instável! Usem o 6.X :)

Stay on Node.js v4 or upgrade to Node.js v6 if you need stability and have a complex production environment, e.g. you are a medium or large enterprise.

Oi pessoal. Estou aguardando o retorno de um de vocês depois para saber se esta tudo tranquilo e esclarecido agora.

Com certeza Flavio, com este aviso ajuda bastante.

Muito obrigado a ti e ao Adriano, vamos pescando estes imprevistos de forma colaborativa ;)

Abraços