我正在查看基于承诺的 webpack 中的动态导入:
import('chunk').then(chunk => {...do something with chunk...})
.
在这种情况下,webpack 是否有消除死代码的方法?似乎默认情况下会导入整个 esModule,而无需提前指定您需要的内容。
更新
澄清一下,当您只需要模块“A.js”中的函数“f”时,您可以像这样动态导入它:
import('A.js').then(({f}) => {...})
这是动态的类似物:
import {f} from 'A.js'
但是,据我所知,webpack 无法通过在动态版本中从“A.js”中删除不需要的函数来优化包,即使我只解构并使用其中一个,我也总是得到整个模块可能的出口。
这只是 webpack 对动态加载模块的死代码检测的限制吗?