Отладка при использовании кэша require.js - PullRequest
19 голосов
/ 13 февраля 2012

Используя require.js, я заметил, что часто зависимости кэшируются браузером и не обновляются, даже если я заставляю страницу полностью перезагружаться (команда + shift + R).

Для того, чтобывсегда обновлял файл, я сделал require.js запрашивать файлы, добавляя «datetamp» после URL.Единственная проблема с этим подходом состоит в том, что точки останова не остаются в chrome или firebug после перезагрузки, что делает отладку болезненной.

Есть ли у вас какие-либо предложения?

Ответы [ 3 ]

16 голосов
/ 13 февраля 2012

На самом деле есть несколько вещей, которые вы можете сделать:

Либо полностью отключите кеширование браузера, чтобы проверить его. Простой способ, например, Chrome должен открыть Окно инкогнито (CTRL + SHIFT + N), аналогичное режиму Приватный просмотр в Firefox. Однако более идеальное решение для вас должно быть указано здесь: Отключение кэша Chrome для разработки веб-сайтов

Или вы даете указание своему веб-серверу не отправлять заголовки кэша для javascript или некоторых файлов javascript. Одна возможность - использовать mod_expires с apache.

9 голосов
/ 10 февраля 2013

Я использовал

require.config({ urlArgs: "v=" +  (new Date()).getTime() });

Это решило мою проблему, но вы должны не забыть удалить ее, прежде чем приступить к производству.

3 голосов
/ 20 февраля 2012

Я думаю, вы можете использовать urlArgs для required.config

цитата из http://requirejs.org/docs/api.html#packages urlArgs: дополнительные аргументы строки запроса, добавляемые к URL-адресам, которые RequireJS использует для получения ресурсов.Наиболее полезно для кэширования бюста, когда браузер или сервер настроены неправильно.Пример настройки кеша для urlA

...