webpack require。确保使用第一个参数

苏成C

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有关,后者允许将某些部分的代码与主要代码分开捆绑,并在代码运行时加载并稍后运行。

代码示例1:

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现在可以拆分为不同的文件,并且回调函数只有在加载后才能运行。

代码示例2:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章