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