The practice of combining and minifying JS files is one that should be done at all times. There's two ways to do this, one involves creating the combined file manually. The other involves fun and less future work.
I write my JS into many different files, breaking down functionality, but the client doesn't need to see that.
On my web server, I have a server side tag library that allows me to do stuff like include other files (so I can break up development into components), run "foreach" statements over arrays, conditional processing, and other stuff. I've added to this arsenal with a "combine" tag.
It's used like this:
<jsn:combine> /js/file1.js /js/file2.js /js/file3.js </jsn:combine>
There would be way too much code to spit out to show how all of the tags and the server works, so I'll just show the code that does the combine
Some other stuff going on... my server has built in mobile site support. You can specify "this is the mobile site for this full site" and "for this mobile site, this is the main site", both running independent but they know of each other. I can have the file /js/mobile-only.js combined on the mobile site, where that file exists in the mobile site's content root, and I can have the file /js/main-site-only.js combined on mobile, where that file only exists on the main site.
Some nice to haves would be to also minify the files on the fly.