This article is almost 2 years old now, so take that into account. I’ve also been almost entirely been doing CLI development since I wrote this, so I don’t know much about the state of the world of front-end development anymore either. This approach might still be good with Angular 2 and other tools now available, maybe not. I’m not sure.
Having said that, I want to be clear I’m not proposing this is how Facebook should architect their front-end. I have no idea how Facebook should architect their front-end, but I’m sure this wouldn’t be the answer. This is a simple method, but one to get quickly running. Now, does that mean it’s not fitting for large apps? Not at all.
This is a simple solution. Simple solutions are easy to optimize later when it is needed. If you’re at the point where you’re reaching 1mb gzipped and that is a problem you can very easily start modifying this to be more efficient. If you were fully baked into a complex requirejs/browserify setup that you wanted to migrate away from, that would be much more painful.
Really though I wrote this out of the frustration of being someone that is not a front-end developer that was tired of spending a day or 2 every time I started a new project just to figure out the best modern way to build the damn thing. Notably it’s by far the most popular article I’ve ever written, so people seem to like it.