-
Notifications
You must be signed in to change notification settings - Fork 14
(三十)tree shaking清理未引用js
阿峰 edited this page Jun 29, 2023
·
2 revisions
Tree Shaking的意思就是摇树,伴随着摇树这个动作,树上的枯叶都会被摇晃下来,这里的
tree-shaking
在代码中摇掉的是未使用到的代码,也就是未引用的代码,最早是在rollup
库中出现的,webpack
在2版本之后
也开始支持。模式mode
为production
时就会默认开启tree-shaking
功能以此来标记未引入代码然后移除掉,测试一下。
- 在src/components目录下新增Demo1,Demo2两个组件
// src/components/Demo1.tsx
import React from "react";
function Demo1() {
return <h3>我是Demo1组件</h3>
}
export default Demo1
// src/components/Demo2.tsx
import React from "react";
function Demo2() {
return <h3>我是Demo2组件</h3>
}
export default Demo2
- 再在src/components目录下新增index.ts, 把Demo1和Demo2组件引入进来再暴露出去
// src/components/index.ts
export { default as Demo1 } from './Demo1'
export { default as Demo2 } from './Demo2'
- 在App.tsx中引入两个组件,但只使用Demo1组件
// ...
import { Demo1, Demo2 } from '@/components'
function App() {
return <Demo1 />
}
export default App
- 执行打包,可以看到在main.js中搜索Demo,只搜索到了Demo1, 代表Demo2组件被tree-shaking移除掉了。