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
这么写试一下
052021-07-01
相似问题