2012-03-30 14 views
6

के लिए RequJS के साथ यूआरएल कैश-बस्टिंग पैरामीटर से बचें बाहरी सीडीएन संसाधनों के लिए यूआरएल कैश बस्टिंग पैरामीटर को हटाने का कोई तरीका है?सीडीएन

मैं अपनी लाइब्रेरी फ़ाइलों के लिए कैश बस्टिंग करना चाहता हूं, लेकिन बाहरी jquery सीडीएन फ़ाइलों के लिए नहीं। अभी मैं उपयोग कर रहा हूं: requirejs.config({ urlArgs : "v1.1"}); कैश बस्टिंग करने के लिए।

कोई सुझाव यह कैसे करें?

धन्यवाद

उत्तर

0

यह निश्चित रूप से अब तक का सबसे पुराना प्रश्न है जिसका मैंने जवाब दिया है!

मैंने RequireJS contexts का उपयोग करने के लिए यह पहेली बनाई है, लेकिन ऐसा लगता है कि यह काम नहीं करता है।

संदर्भ अलग-अलग पथों से मॉड्यूल लोड करते हैं, लेकिन दोनों कॉल require() कैश बस्ट (urlArgs) पैरामीटर का उपयोग करते हैं।

तो मेरा निष्कर्ष यह होगा कि आप ऐसा नहीं कर सकते जो आप आउट ऑफ़ द बॉक्स करना चाहते हैं।

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

उत्तर के लिए @Paul धन्यवाद। मैं अभी भी इस समस्या के लिए एक समाधान की तलाश में हूँ। यह इतना आम उपयोग मामला है कि मुझे विश्वास नहीं है कि यह आवश्यकतानुसार लागू नहीं किया जा रहा है – valentinvieriu

संबंधित मुद्दे