Webpack поддерживает синтаксис import(), который соответствует предложение ECMAScript для динамического импорта. Этот синтаксис использует обещания для асинхронной загрузки модулей.
Проблема в том, что обещание выполняется, как только загружается конкретный модуль, не дожидаясь загрузки зависимостей модуля (это может быть любой тип ресурса, включая JS и CSS).
Пример кода:
import('./myModule.js').then(myModule => {
myModule.sayHello(); // This will be called before someCSS.css has been loaded
});
myModule.js
import './someCSS.css'; // <-- I need to know when this is loaded (there can be more than one asset)
export default class myModule {
sayHello() {
alert('Hello!');
}
}
Как я могу определить, когда модуль и все связанные с ним активы были загружены? Что-то вроде события onload
для асинхронных активов?