V8 implementation: gsa...@chromium.org
Blink implementation: kou...@chromium.org
This is a stage 3 proposal, which per the TC39 process is the appropriate time to implement (and ship).
Web side: https://github.com/tc39/proposal-dynamic-import/blob/master/HTML%20Integration.md
This is a (detailed) draft which will be integrated into HTML shortly.
The existing syntactic forms for importing modules are static declarations. They accept a string literal as the module specifier, and introduce bindings into the local scope via a pre-runtime "linking" process. This is a great design for the 90% case, and supports important use cases such as static analysis, bundling tools, and tree shaking.
Truly dynamic code loading also enables advanced scenarios, such as racing multiple modules against each other and choosing the first to successfully load.
Today this is also possible via dynamically creating and inserting <script type="module"> elements. However, this has a number of disadvantages. See https://github.com/tc39/proposal-dynamic-import#using-host-specific-mechanisms for more information on that comparison.
Interoperability and Compatibility Risk
Edge: Public support
Firefox: Public support
Safari: Shipped in Safari Tech Preview
Web developers: Positive
Ongoing technical constraints
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
OWP launch tracking bug
Link to entry on the feature dashboard
Requesting approval to ship?
Not yet, but hopefully soon!
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/bb097e57-c600-44ed-9901-c8d04d01580a%40chromium.org.
The relevant documentation is here: