从Webpack文档(https://webpack.github.io/docs/api-in-modules.html#require-ensure):
根据需要下载其他依赖项。依赖项数组列出了应该可用的模块。如果它们是,则调用回调。如果回调是函数表达式,则将提取该源部分中的依赖项,并根据需要进行加载。除非所有模块都可用,否则将向服务器触发一个请求。
如果还按需提取并加载了源部分中的依赖项,那么为什么不麻烦在依赖项列表中放入任何内容呢?
我看过这样的例子非常令人困惑(https://github.com/webpack/webpack/tree/master/examples/extra-async-chunk):
require.ensure(["./a"], function(require) {
require("./b");
require("./d");
});
“ b”和“ d”不在依赖项列表中,但将像“ a”一样按需加载。那有什么区别呢?
您链接到的文档中的示例显示了一种行为不同的方式。指定依赖项时,它将显式创建一个新块,将其放入其中,并添加回调中引用的任何其他依赖项。当您不指定依赖项时,回调中的所有依赖项都将添加到“当前”(最后一个)块中,不会创建新的块。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句