使用该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;
}
Run Code Online (Sandbox Code Playgroud)
最近,我尽可能使用动态导入机制,例如
System.import(/* webpackChunkName: 'component.MyComponent' */ './MyComponent')`
Run Code Online (Sandbox Code Playgroud)
通常结合 egreact-loadable
或 react 16 懒惰。
那么:如何使用动态import
语句将多个资源加载到单个块中?或者:在使用动态导入时将多个资源捆绑到同一个块中的最佳策略是什么?
重点是将文件捆绑在一起,而不是自定义文件名(我知道在某些情况下,例如 cra,System.import()
是不鼓励和import()
推荐的,这可能不支持 webpackChunkName 语法。)