TIL ES modules and dynamic imports
POSTED ON:
TAGS: javascript es-modules
ES Modules allow us to separate JS code into separate files, aka 'modules'.
We can now do this on the browser. (as long as you identify the script tag as a module type)
import { concat } from './concatModule.js';
concat('a', 'b'); // => 'ab'
Did you know we can also dynamically load modules based on conditionals?
The import(path)
returns a promise, it fits great with the async/await syntax.
// loading it normally
const module1 = await import('./myModule.js');
// loading it as a promise
async function execBigModule(condition) {
if (condition) {
const { funcA } = await import('./bigModuleA.js');
funcA();
} else {
const { funcB } = await import('./bigModuleB.js');
funcB();
}
}
loadMyModule();
via How to Dynamically Import ECMAScript Modules
Related TILs
Tagged: javascript