The main drawback of this approach is that the browser must download your entire javascript file before it can start executing any of them. Most likely, this will slow down the work, but there are some framework / tools that do this only for optimization. This can help with a bunch of small files to overcome http overhead.
In addition, if you change any of the files in the kit, you must invalidate the cache and provide the client with a completely new (large) package to download and cache again.
However, as this link explains , such approaches may not be practical when http 2.0 is core. And, apparently, there is a bandwidth threshold in which returns are reduced as speed and latency come into play.