RequireJS wydaje się robić wewnętrznie coś, co buforuje wymagane pliki javascript. Jeśli dokonam zmiany w jednym z wymaganych plików, muszę zmienić nazwę pliku, aby zastosować zmiany.
Powszechna sztuczka polegająca na dodawaniu numeru wersji jako parametru zapytania na końcu nazwy pliku nie działa z wymaganiem <script src="jsfile.js?v2"></script>
To, czego szukam, to sposób, aby zapobiec wewnętrznemu buforowaniu skryptów wymaganych przez RequireJS bez konieczności zmiany nazwy moich plików skryptów przy każdej aktualizacji.
Rozwiązanie wieloplatformowe:
Teraz używam urlArgs: "bust=" + (new Date()).getTime()
do automatycznego pomijania pamięci podręcznej podczas programowania iurlArgs: "bust=v2"
do produkcji, w których zwiększam zakodowaną wersję num po uruchomieniu zaktualizowanego wymaganego skryptu.
Uwaga:
@Dustin Getz wspomniał w niedawnej odpowiedzi, że Narzędzia dla programistów Chrome upuszczą punkty przerwania podczas debugowania, gdy pliki JavaScript są ciągle odświeżane w ten sposób. Jednym obejściem jest napisaniedebugger;
kodu, aby uruchomić punkt przerwania w większości debuggerów Javascript.
Rozwiązania specyficzne dla serwera:
Aby znaleźć konkretne rozwiązania, które mogą lepiej działać w środowisku serwera, takie jak Węzeł lub Apache, zapoznaj się z niektórymi odpowiedziami poniżej.