TL;DR:您能否解释一下何时bundle-loader
需要使用 Webpack 进行代码拆分?
当我开始将基于 Backbone 的应用程序从 Require.js 迁移到 Webpack 时,我记得require
路由器中的这种语句:
someMatchedRoute: function () {
require(['path-to-file'], function(module) {
// doing something with the loaded module
module();
});
}
会将所需的代码与其余代码放在同一个包中,并且为了生成一个单独的文件,在切换到特定路线时动态需要该文件,我需要使用bundle-loader
,如下所示:
// a function executed when the user’s profile route is matched
someMatchedRoute: function () {
require('bundle!path-to-file')(function(module) {
// doing something with the loaded module
module();
});
}
现在,当我将代码库迁移到 ES6 模块并使用Webpack 文档中描述require.ensure
的语法时:
someMatchedRoute: function () {
require.ensure(['path-to-file'], function(require) {
var loadedModule = require('path-to-file');
// doing something with the loaded module
loadedModule();
});
}
我不确定是否需要bundle-loader
生成多个块并动态加载它们。如果我这样做了,require
它会在哪个调用中进行 - 在回调中require.ensure
还是在require
回调中?或者两者兼而有之?这一切都太混乱了。