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

Baixar sempre js, css e html

Não encontrei tópico parecido, me desculpe se for redundante.

Estou desenvolvendo um Projeto com o Angular como Front End. Porém, eu costumo sempre atualizar o cliente das modificações, mas como são implementações, os arquivos js, css e html já foram carregados no primeiro acesso na máquina do cliente. Pois bem, pesquisei na net e encontrei as soluções abaixo Tentei adicionar no meu index.html o código abaixo:

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

Porém ainda não funcionou como esperado.

No angular, tentei utilizar: $templateCache.removeAll();

Mas também não funcionou como esperado.

Eu recomendei o cliente a abrir a página do site sempre via navegação privada do Chrome para evitar ao máximo o carregamento dos arquivos na máquina, mas não posso depender do cliente lembrar de realizar esse procedimento sempre.

Gostaria de saber se alguém já encarou esse problema e se obteve alguma solução ?

Desde já obrigado!

3 respostas
solução!

Oi Eduardo, tudo bem? O problema pode não ser diretamente a máquina do cliente, pode haver um intermediário no meio do caminho que faça cache dos arquivos da aplicação, pode ser até mesmo um recurso na rede local do cliente.

A melhor alternativa que vi até hoje é usar versionadores, o Gulp (o qual tem curso aqui na Alura) por exemplo, tem plugins que alteram o nome do arquivo conforme o arquivo é alterado, então se você tem um arquivo chamado app.js, quando mudar ele vira app-as1231sadas.js e isso pode ser automatizado.

Oi Wanderson, boa noite. Tudo bem por aqui e ai ?

Verdade! Num outro episódio passado com mesmo projeto, identificamos um cacheamento intermediário, o qual demorava algumas horas para liberar as atualizações.

Vi que tem 2 cursos Gulp, qual deles ?

Outra questão, achei um post sobre Query Strings fantasmas para forçar o browser a carregar o js e css. No meu funcionou bem no teste preliminar.

Eu não entendi como esse Gulp funciona, minha área é BackEnd mesmo srsr

Muito obrigado pelo retorno e dica!

Oi Eduardo, acabei confundindo algumas coisas, deixa eu esclarecer. O Gulp assim como o Grunt, são task runners, automatizadores de tarefas que usam funcionam em cima do Node. Você vai precisar do Node para usar eles. Dito isso, encontrei exatamente a aula que fala de cache e versionamento de arquivos (https://cursos.alura.com.br/course/gruntjs/task/5063) que é feito com Grunt, mas você consegue aplicar no Gulp também a mesma técnica.

No caso, eu recomendo usar a ferramenta e também realizar o curso inteiro, verá que não é bem uma coisa de front-end especifica.