Используя механизм require.ensure
, можно загрузить несколько ресурсов и поместить их в один и тот же блок, например:
let promise;
export function loadLib() {
if (!promise) {
promise = new Promise(resolve => {
require.ensure(
[],
require => {
require('some-lib/dist/some-lib.css');
require('./some-other-stuff');
resolve(require('some-lib'));
},
'lib.some-filename'
);
});
}
return promise;
}
В последнее время я использую механизм динамического импорта, где это возможно, например,
System.import(/* webpackChunkName: 'component.MyComponent' */ './MyComponent')`
Обычно в сочетании, например, с react-loadable
или реагирует ленивым 16.
Итак: как загрузить несколько ресурсов с динамическим оператором import
в один блок?Или: Какова лучшая стратегия для объединения нескольких ресурсов в один и тот же кусок при использовании динамического импорта?
Цель состоит в том, чтобы объединить файлы, а не иметь пользовательское имя файла (я знаю, что в некоторых сценариях, например, cra, System.import()
не рекомендуется и рекомендуется только import()
, что может не поддерживать синтаксис webpackChunkName.)