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