Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

obrigar navegador a realizar download automático de arquivos

Olá, gostaria de saber se existe alguma ferramenta ou arquivo/script de configuração (levando em consideração que o meu projeto é spring boot com thymeleaf) que faz o versionamento de js e css para obrigar o navegador a realizar o seu download caso haja alguma alteração? Obrigado.

3 respostas

Fala ai Guilherme, tudo bem? Bom, isso pode ser feito de N maneiras, seja através de um automatizar de tarefas, no caso o Gulp (entre outros...):

https://gulpjs.com

Existe também os gerenciadores e criadores de módulos como Webpack ou Rollup (entre outros...):

https://webpack.js.org

https://rollupjs.org/guide/en/

Claro que tem outras maneiras e outras opções, mas, eu recomendaria utilizar algum desses.

Qual escolher? Depende muito do seu caso, cenário e necessidade.

Espero ter ajudado.

Obrigado pela resposta Matheus, estou bem e você? Se eu puder te fazer mais perguntas, com o gulp eu faria isso através da instalação de plugins, certo? Ele iria criar tags(com o versionamento, por exemplo, indexV2.css, o v2 sendo a versão criada) no nome dos meus arquivos? E se for dessa maneira, não aconteceria algum problema quando fizesse commit no meu repositório? Obrigado novamente pela ajuda.

solução

Fala ai Guilherme, opa, vamos lá:

com o gulp eu faria isso através da instalação de plugins, certo?

Exatamente.

Ele iria criar tags(com o versionamento, por exemplo, indexV2.css, o v2 sendo a versão criada) no nome dos meus arquivos?

Na verdade ele iria criar os arquivos com um hash, por exemplo: ab12c01cma912mca92mc2mc.css.

Quando o hash mudar, ele "deveria" baixar novamente os arquivos.

E se for dessa maneira, não aconteceria algum problema quando fizesse commit no meu repositório?

Não, porque quando ele gerar o novo arquivo com o hash, ele mesmo vai injetá-lo em sua página.

Todo esse processo será feito em tempo de build, o repositório seria agnóstica desse processo.

Espero ter ajudado.