RequireJS, похоже, делает что-то внутренне, чтобы кэшировать файлы javascript. Если я вношу изменения в один из необходимых файлов, я должен переименовать файл, чтобы изменения были применены.
Общий трюк добавления номера версии в качестве параметра querystring в конец имени файла не работает с requirejs <script src="jsfile.js?v2"></script>
Я ищу способ предотвратить это внутреннее кэширование требуемых скриптов RequireJS без необходимости переименовывать мои файлы script каждый раз, когда они обновляются.
Кросс-платформенное решение:
Теперь я использую urlArgs: "bust=" + (new Date()).getTime()
для автоматического обхода кеша во время разработки и urlArgs: "bust=v2"
для производства, где я увеличиваю число жестко закодированных версий после развертывания обновленного требуемого script.
Примечание:
@Dustin Getz упомянул в недавнем ответе, что инструменты для разработчиков Chrome будут отбрасывать точки останова во время отладки, когда файлы Javascript будут постоянно обновляться. Один из способов - написать debugger;
в коде, чтобы вызвать точку останова в большинстве отладчиков Javascript.
Решения для сервера:
Для конкретных решений, которые могут работать лучше для вашей серверной среды, таких как Node или Apache, см. некоторые ответы ниже.