2015-01-29 2 views
0

Я использую node.js и gulp для компиляции кофе. Составитель JS файл связан с HTML, как это:Кофейный скрипт и кеш браузера

<script type="text/javascript" src="/assets/scripts/local/restore/create.js?v=150129_666"></script> 

EDIT: create.js является уточненным. Но поведение страницы и debbuger браузера показывают, что я использую более старую версию моего create.coffee. Не могу понять, почему и как избавиться. Или, по крайней мере, использовать текущую версию create.coffee. Благодарю.

+1

Вы, Чан gint 'v' после компиляции create.js? также вы пытались изменить отправку заголовков вашим сервером http с датой истечения срока действия –

+0

Yep, chaged v parameter - ничего. Havn't попробовал заголовки еще - спасибо. – Vick

ответ

1

Я изучил эту тему на SO и, похоже, браузеры могут кэшировать файлы даже с параметрами получения. лучшее решение, на мой взгляд:
How to force browser to reload cached CSS/JS files?

решение по ссылке:
изменить Js имя (добавить текущее время, например) при генерации вашего HTML

<script type="text/javascript" src="/assets/scripts/local/restore/create.1221534296.js"></script>

и с использованием запроса правила перезаписи соответствующий файл

RewriteEngine on RewriteRule ^(.*)\.[\d]{10}\.(css|js)$ $1.$2 [L]

+0

Спасибо, человек, я пробовал это, и он работает. Но дело в том, что мой файл create.js уже обновлен. Тем временем поведение страницы каким-то образом использует более старую версию моего create.coffee. – Vick

+0

Вы испытали то же самое в других браузерах, что и ваш по умолчанию? выглядит как ошибка, связанная с браузером –

+0

Выяснилось, что это была ошибка кода, вызвавшая это странное поведение. Дурак я. – Vick

Смежные вопросы