А что, если перенести это на уровень бильд-процесса? Успешно использую с мэйвеном (подсчёт версии, копирование файлов в /static/${number} и замена переменных в ресурсаx), вэбджар и ocLazyLoad.

На уровне энджина просто добавлаю кэш-форева для /static и /webjar.


On 22.01.2017 10:27, S.A.N wrote:
Здравствуйте.

Для статичных файлов, есть старая добрая практика, добавлять в url, некий
номер версии этого файла, клиентам отдавать в заготовках максимальное время
кеширования, как-то так:

expires max;

<script src="/app.js?version=xxx">

Но, добавлять версию в query, уже как правило нельзя, в js и css файлах,
может быть импорт с относительной адресацией, например в app.js

import MyModule from './myModule.js';

Браузер загрузить файл './myModule.js' в юрл которого не указана версия,
тоже самое в css.
Мы решили указывать версию файла в root директории url, вот так:
/xxx/app.js
Тогда браузер будет загружать локальные импорты правильно:
/xxx//myModule.js

Но это требует rewrite директив, в конфиге Nginx, мне это не очень
нравится.
Возможно есть другое более удачное решения?
Спасибо.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,272099,272099#msg-272099

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru


--
Certified Prince2:2009 Project Manager
Professional Scrum Expert
Oracle Certified Expert, Enterprise JavaBeans Developer
Oracle Certified Professional, Java SE 6 Programmer

Now that's a test of the character of an organization.
Of the organizations that are attempting to implement
Scrum probably, 30% - 35% will successfully implement it.
- Ken Schwaber

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить