When minifying JavaScripts together in web-development, is it better from the user-loading-time point of view to:
- make one single big bundle of JavaScript containing all the script, and include this on each page – so each page will probably not need all of it, but once the user has it cached, they don’t need to get any further scripts (until it expires from their cache, of course) – optimising for number-of-requests
- make one bundle of JavaScript per page, so that each page loads just the script that it needs and nothing else – so each page when first loaded will definitely require a JS request (but still subsequently have that cached. Optimising for size-of-requests.
I’m interested in some data upon which to base the decision for which strategy to go with. I can arrive at conclusions based on anecdote as easily as everyone else 🙂
It really depends on the sizes and functions of the script. It’s common to have a single master.js for all your pages, which contains all the functionality required by every page of your site, whilst having other js files for functionality that might only be needed on certain pages.
Take Stack Overflow, for instance. They have a master.js file included on every page of the site, but when you visit a question page or the “ask a question” page you’ll notice wmd.js. This script includes all the functionality for the editor which is needed on fewer pages.