问题:如何在不解析最终包的情况下提前获取依赖块图?最好是json。
为什么:
使用 webpacks 默认的块拆分策略,它会创建多个其他块所依赖的公共块。例如两个动态导入,如
const foo = () => import('./foo');
const bar = () => import('./bar');
webpack 可能会重写为(不完全是,但作为一个概念):
const foo = () => __webpack.r(['foo', 'bar']);
const bar = () => __webpack.r(['bar', 'bar.0']);
所以 webpack 注意到 foo 重用了 'bar' 的一部分并创建了一个 'bar.0',其中的模块仅用于 bar 并重用了块 'bar' 中的所有内容。
当我向用户发送一个 html 页面时,我肯定知道它将需要“foo”,我想添加:
<script src="chunk/foo.js"></script><script src="chunk/bar.js">
当我向我知道它需要'bar'的用户发送一个html页面时,我想添加:
<script src="chunk/bar.js"></script><script src="chunk/bar.0.js">
就这样脚本已经在 html 解析时加载,并且在第一次执行 javascript 时不依赖额外的往返。
但是如何在不解析最终包的情况下提前获取依赖块图呢?