Alex29 Alex29 - 5 days ago 4
Javascript Question

How will browsers handle ES6 import/export syntax

I've been thinking around this question lot of days and i have decided to ask the experts.

How browsers will handle the new import/export syntax ? I mean: will the modules be loaded asynchronously ? Referencing only my main or entry file and browsers will lazy load the requiere modules.

Maybe am i missing or misunderstanding something about this new architecture ?

Thank you very much!

Regards.

Answer

According to this post in Mozilla's website, it's up to the implementation:

Because the system doesn’t specify how loading works, and because you can figure out all the dependencies ahead of time by looking at the import declarations in the source code, an implementation of ES6 is free to do all the work at compile time and bundle all your modules into a single file to ship them over the network!

This may change in the future, as it is still not fully standardized, but you can be sure that you will not need to add a script tag for every module. Some module loaders today bundle all the files for you, but that's may not be the case when the future will be live, as it will not have an advantage in performance in HTTP2.

You can read the ES6 specification of import here.