Tree-Shaking疑问

来源:4-1 Tree Shaking 概念详解

慕的地9277935

2021-06-19

// test.js 的内容
const fn1 = (a, b) => a + b
const fn2 = (a, b) => a - b
export { fn1,  fn2 }
// index.js 的内容
import './style.css'
import { fn1 } from './test.js'

webpack 使用 ‘production’ 模式打包,没有配置 ‘usedExports: true’

//package.json 设置 sideEffects
"sideEffects": false // 对所有模块都进行 Tree-Shaking

打包结果

1、style.css 没有被打包,被 Tree-shaking 掉(说明’production’模式下,默认是有开启 Tree-Shaking)
2、index.js 打包生成的 main.js 里关于 test.js 的内容
// CONCATENATED MODULE: ./test.js
var fn1 = function fn1(a, b) {
  return a + b;
};

var fn2 = function fn2(a, b) {
  return a - b;
};
查看打包生成的 main.js 内容发现,虽然在 index.js 中只引入使用 test.js 中的 fn1,但是最后打包完,test.js 中的 fn2 的代码也包含在打包生成的 main.js 中,并没有被 Tree-Shaking 掉
所以这里麻烦老师帮忙解惑
写回答

1回答

Dell

2021-06-21

export fn1

export fn2 

这么写试一下

0
5
Dell
回复
慕的地9277935
dell_js,加我微信发我吧
2021-07-01
共5条回复

从基础到实战 手把手带你掌握新版Webpack4.0

知识点+项目实例+原理讲解 全方位解析Webpack4新版本

3627 学习 · 1291 问题

查看课程