6 votes

Évitez les paramètres de cache-busting d'URL avec RequireJS pour CDN

Y a-t-il un moyen de supprimer les paramètres de cache busting d'URL pour les ressources CDN externes ?

Je veux avoir le cache busting pour mes fichiers de bibliothèque, mais pas pour les fichiers externes jquery cdn. En ce moment, j'utilise : requirejs.config({ urlArgs : "v1.1"}); pour avoir le cache busting.

Des suggestions sur la façon de faire cela ?

Merci

0voto

Paul Grime Points 10202

C'est certainement la question la plus ancienne à laquelle j'ai répondu jusqu'à présent!

J'ai créé cette fiddle pour utiliser les contextes RequireJS, mais cela ne semble pas fonctionner.

Les contextes chargent les modules à partir des différents chemins correctement, mais les deux appels à require() utilisent le paramètre de cache bust (urlArgs).

Donc ma conclusion serait que vous ne pouvez pas faire ce que vous voulez faire tel quel.

http://jsfiddle.net/FXSSf/5/

// Fiddle pour essayer d'avoir deux contextes RequireJS, un sans cache pour le CDN et un avec cache pour nos fichiers
// Voir http://requirejs.org/docs/api.html#multiversion

// s'assurer que $ n'est pas valide au début
var $ = null;

var cdnRequire = require.config({
    paths: {
        "jquery": "http://code.jquery.com/jquery-1.9.1"
    },
    urlArgs: ""
});

var ourRequire = require.config({
    baseUrl: "https://gist.github.com/gitgrimbo/5130393/raw/b9402d4dfb00ff0ad3211f30681bb6d0411e4295",
    urlArgs: "ourRequire-" + new Date().getTime()
});

// cdnRequire ne devrait *pas* utiliser le paramètre de cache bust
cdnRequire(["jquery"], function ($) {
    alert($.fn.jquery);
    // ourRequire *devrait* utiliser le paramètre de cache bust
    ourRequire(["gistfile1"], function (myModule) {
        alert(myModule);
    });
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X