Skip to content

(三十)tree shaking清理未引用js

阿峰 edited this page Jun 29, 2023 · 2 revisions

步骤三十

优化构建结果文件-tree-shaking清理未引用js

Tree Shaking的意思就是摇树,伴随着摇树这个动作,树上的枯叶都会被摇晃下来,这里的tree-shaking在代码中摇掉的是未使用到的代码,也就是未引用的代码,最早是在rollup库中出现的,webpack2版本之后也开始支持。模式modeproduction时就会默认开启tree-shaking功能以此来标记未引入代码然后移除掉,测试一下。

  1. 在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
  1. 再在src/components目录下新增index.ts, 把Demo1和Demo2组件引入进来再暴露出去
// src/components/index.ts
export { default as Demo1 } from './Demo1'
export { default as Demo2 } from './Demo2'
  1. 在App.tsx中引入两个组件,但只使用Demo1组件
// ...
import { Demo1, Demo2 } from '@/components'

function App() {
  return <Demo1 />
}
export default App
  1. 执行打包,可以看到在main.js中搜索Demo,只搜索到了Demo1, 代表Demo2组件被tree-shaking移除掉了。

image

Clone this wiki locally