RequireJS semble faire quelque chose en interne qui met en cache les fichiers javascript requis. Si j'apporte une modification à l'un des fichiers requis, je dois renommer le fichier pour que les modifications soient appliquées.
L'astuce courante consistant à ajouter un numéro de version en tant que paramètre de chaîne de requête à la fin du nom de fichier ne fonctionne pas avec requirejs <script src="jsfile.js?v2"></script>
Ce que je recherche, c'est un moyen d'empêcher ce cache interne des scripts requis par RequireJS sans avoir à renommer mes fichiers de script chaque fois qu'ils sont mis à jour.
Solution multiplateforme:
J'utilise maintenant urlArgs: "bust=" + (new Date()).getTime()
pour la suppression automatique du cache pendant le développement et urlArgs: "bust=v2"
pour la production où j'incrémente le numéro de version codé en dur après avoir déployé un script requis mis à jour.
Remarque:
@Dustin Getz a mentionné dans une réponse récente que Chrome Developer Tools supprimera les points d'arrêt pendant le débogage lorsque les fichiers Javascript sont continuellement actualisés comme ceci. Une solution de contournement consiste à écrire debugger;
du code pour déclencher un point d'arrêt dans la plupart des débogueurs Javascript.
Solutions spécifiques au serveur:
Pour des solutions spécifiques qui peuvent mieux fonctionner pour votre environnement de serveur telles que Node ou Apache, consultez certaines des réponses ci-dessous.