Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Basics (Retired) Introducing JavaScript About JavaScript Basics

Hye Why is that for instance a wordpress site has many .js files, why can't we just put everything in one file ?

.js files organisation

3 Answers

Shawn Flanigan
Shawn Flanigan
Courses Plus Student 15,815 Points

Sam, You might be able to put all of your javascript into one file (as long as there are no conflicting variable or function names), but if you ever need to update a single plugin or library, you're basically sunk. Sorting through a gigantic javascript file could prove pretty tough and tedious...especially if you've minified it.

Javascript files can also be cached, so you don't want to force users to reload all of your javascript if only a few functions have changed. In the same vein, you don't always want to force users to load javascript they won't be using on any given page (imagine walking to Spanish class with your Math, English, History, and Science books...and gym clothes. Better off leaving them in your locker until you need them).

Maybe others will chime in with different opinions, but I hope this makes sense!

This is terribly late to the party, but it's generally bad programming practice in any language to stuff everything into one file. If you want any sort of modularity/code reusability, it makes sense to separate things into different files, in addition to the reasons stated above.

It's possible to concatenate multiple js files and serve a single-file, with a task-runner such as Grunt.