2012-03-30 8 views
6

Czy istnieje sposób na usunięcie parametrów pomijania pamięci podręcznej adresów URL dla zewnętrznych zasobów CDN?Unikaj parametrów pomijania pamięci podręcznej URL z RequireJS dla CDN

Chcę mieć pomijanie pamięci podręcznej dla moich plików bibliotek, ale nie dla zewnętrznych plików CDN jquery. Teraz używam: requirejs.config({ urlArgs : "v1.1"}); do pomijania pamięci podręcznej.

Wszelkie sugestie, jak to zrobić?

Dzięki

Odpowiedz

0

Jest to z pewnością najstarsza Mam pytanie odpowiedział do tej pory!

Stworzyłem to skrzypce, aby używać RequireJS contexts, ale to nie działa.

Konteksty ładują moduły z różnych ścieżek w porządku, ale oba wywołania do require() używają parametru przekroczenia pamięci podręcznej (urlArgs).

Mój wniosek byłby taki, że nie można zrobić tego, co chce się zrobić zaraz po wyjęciu z pudełka.

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

// Fiddle to try and have two RequireJS contexts, one without cache bust for CDN and one with cache bust for 'our' files 
// See http://requirejs.org/docs/api.html#multiversion 

// ensure that $ is invalid to begin with 
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 should *not* use cache bust parameter 
cdnRequire(["jquery"], function ($) { 
    alert($.fn.jquery); 
    // ourRequire *should* use cache bust parameter 
    ourRequire(["gistfile1"], function (myModule) { 
     alert(myModule); 
    }); 
}); 
+0

Dziękuję @Paul za odpowiedź. Wciąż szukam rozwiązania tego problemu. Jest to tak powszechny przypadek użycia, że ​​nie mogę uwierzyć, że nie jest on implementowany w requirejs – valentinvieriu

Powiązane problemy