webpack require.ensure第一个参数的第一个参数的用途是什么?
https://webpack.github.io/docs/code-splitting.html
require.ensure(dependencies, callback)
我试图让第一个参数填充或为空,如:
require.ensure(['./module'], function() { //filled first param
require.ensure([], function() { //empty first param
let module = require('./module');
$ocLazyLoad.load([{
name: module.default,
}]);
});
两者都在工作。那么第一个参数的用途是什么?
require.include
文档中还有一个功能,我不了解该功能的用例。任何人都可以解释吗?
这些功能与Code Splitting有关,后者允许将某些部分的代码与主要代码分开捆绑,并在代码运行时加载并稍后运行。
require.ensure(['./module'], function() { //filled first param
第一个参数是确保在运行回调之前已加载的模块数组。如果./module
尚未在捆绑包之一中加载,它将加载该模块包含在新的HTTP请求中的块,然后调用回调函数。
要使用Webpack的示例:
require.ensure(["module-a", "module-b"], function(require) {
var a = require("module-a");
// ...
});
module-a
并且module-b
现在可以拆分为不同的文件,并且回调函数只有在加载后才能运行。
require.ensure([], function() { //empty first param
let module = require('./module');
$ocLazyLoad.load([{
name: module.default,
}]);
});
在此require.ensure
定义分割点。由于它在数组中没有任何依赖关系,因此它本身不会加载任何模块。但是,require
回调中的语句仍将通过webpack的魔力动态加载,并./module
捆绑在一个单独的文件中。
require.include
文档中还有一个require.include函数,我不了解该函数的用例。任何人都可以解释吗?
require.include
可以用来确保捆绑了一个模块,即使未捆绑require
-ed。通常,如果不使用require
-ed模块,则根本不会将其捆绑在一起。这可以用来迫使它包括模块,即使它不在requir
包本身中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句