The new version of the standard defines a programmatic API to work with modules. This is the so called module loader API. It allows us to define and import modules, or configure the module loading.
Let's suppose we have the following module definition in the app.js file:
import { square } from './math'; export function main() { console.log(square(2)); // 4 }
From the init.js file, we can programmatically load the app module and invoke its main function:
System.import('./app') .then(app => { app.main(); }) .catch(error => { console.log('Terrible error happened', error); });
The global object System has a method called import that allows us to import modules using their identifier. In the preceding snippet, we import the app module defined in app.js. Moreover, System.import returns a promise...