On Thu, Apr 16, 2015 at 12:18 PM, Domenic Denicola <d...@domenic.me> wrote:
> > Is there any mean in sight, that will allow us to serve > > them as fast as we can serve hundreds of bundled and minimized CJS > > modules now? > > Yes. Any browser which implements the ES6 module loader (none of them > right now) will also be a browser that implements HTTP/2 (all of them right > now). HTTP/2 server push would allow you to respond to a single request for > "entry.js" (e.g. from `<script type="module" src="entry.js"></script>`) > with responses for all modules in the entire dependency graph, prioritized > according to their level in the graph, all over a single TCP connection. > > This is just the most naïve strategy I could think of with HTTP/2. There > are more interesting ones too. > > It's also important to note that bundling is an antipattern in the HTTP/2 > world, as it prevents incremental cache updates by invalidating the entire > bundle graph when you change a single file, and does not allow relative > prioritization of individual files. > But the push scenario in your first paragraph would not use the cache either. As far as I can tell, only the client knows which modules it has loaded; only the server knows the dependency graph for modules-to-be-loaded. So: one or the other has to send its information at the outset of a import request, or the server needs to send the entire bundle, or the loading has to be layer by layer. HTTP/2 does seem to have the magic to avoid considering these issues in module loading. jjb
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss