webpack 中 import() 动态引入的模块是不是不能做 tree-shaking

changli
  • 497

tree-shaking 可以在打包代码中去除项目没有使用的代码片段
原理是基于 es modules 的静态分析
而在项目中这样使用

 setTimeout(import(/* webpackChunkName: "ladash" */'lodash-es').then(_ => {
    element.innerHTML = _.join(['Hello', 'webpack'], ' ');
  }), 1000)

会把整个 lodash-es 都打包了
请问一下,像这样的动态导入 es 模块,是不是不可能做 tree-shaking 的优化
如果可以,要怎么做配置

回复
阅读 2.6k
3 个回答

这个当时我问过webpack 里面开发这个功能的肖恩,他说不能支持。

无名小卒
  • 3
新手上路,请多包涵

为什么我试的动态导入同样也能做到tree shaking,webpack 4

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏