webpack4的tree shaking问题

发布于 2022-09-12 22:20:25 字数 640 浏览 22 评论 0

代码压缩用的terser-webpack-plugin插件
无论是production或者是development模式都可以在打包后的bundle文件找到FuncA代码

.babelrc文件"modules": false也加了

// *utils.js文件
export function funcA() {
  return 'FuncA';
}

export function funcB() {
  return 'FuncB';
}
// *main.js文件
import { funcB } from './utils';

funcB();
// *webpack.config.js文件
module.exports = {
  // *省略亿点点配置
  optimization: {
    // 压缩代码
    minimize: true,
    usedExports: true,
    providedExports: true,
    minimizer: [
      new TerserPlugin(),
    ],
  },
};

给我的感觉就是terser插件的压缩js的效果没有作用

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

如果没结果 2022-09-19 22:20:25

貌似应该是tree-shaking 是在babel编译代码之后进行的,但是由于babel转义之后的代码产生了副作用,所以tree-shaking无法删除,相关文章: https://juejin.cn/post/684490...

陪我终i 2022-09-19 22:20:25

babel把代码转成es5的老问题了,es5因为是显性挂载在module.exports上的,所以你的函数被认为已经使用了,所以无法被tree-shaking掉。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文