jQuery CDN as A Named Module In RequireJS

If you want RequireJS to fetch jQuery from a CDN, you’ll need to tell it to do so using the “paths” config:

require.config({
paths: {
"jquery": "https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"
}
});

As I understand it, if you want to use the local file fallback code a la html5bp you’re out of luck. For those of you who don’t know, the local file fallback code allows you to load jQuery from your own domain if the CDN version fails to load. It looks like this:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.8.2.min.js"><\/script>')</script>

Arguably, if you’re using jQuery it is likely to be a global requirement rather than a requirement for one or two modules. The same sort of thing with BackboneJS. It might be better to place these global requirements in the HTML for your pages (before the RequireJS script) to save typing ‘jquery’ and ‘backbone’ in all your module definitions.

22,429 thoughts on “jQuery CDN as A Named Module In RequireJS

  1. I’m impressed, I must say. Rarely do I encounter a blog that’s both equally educative and entertaining, and without
    a doubt, you’ve hit the nail on the head. The problem is
    something that too few folks are speaking intelligently
    about. I am very happy that I came across this during my search for
    something relating to this.

  2. Wonderful website. Lots of useful information here. I am sending it to a few
    pals ans also sharing in delicious. And naturally, thank
    you for your sweat!

  3. Wow, this piece of writing is pleasant, my sister
    is analyzing these kinds of things, therefore I am going to tell her.