为什么 tree-shaking 会移除具有副作用的代码?
index.js
内容如下:
const bar = () => 11111
function foo(obj) {
const a = 22222
return bar(obj);
}
foo()
webpack.config.js 只设置了 mode:'production'
,package.json 没有设置 sideEffects: false
。
按理说,上面这段代码执行的结果没有被用到,应该属于 dead-code,会被 tree-shaking 掉,但是 foo 不是纯函数,具有副作用,所以又不会被 tree-shaking 掉。但是在我查看 bundle 文件的时候,发现确实找不到 foo 函数了(检索 11111 和 22222 没有结果),这是为什么呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)