aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/glossary/tree_shaking/index.html
blob: 24e8003e5ef6e341aec7a0d4db4a796fce42b9ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
---
title: Tree shaking
slug: Glossary/Tree_shaking
tags:
  - JavaScript
  - Modules
  - Statement
  - Web Performance
  - export
  - import
  - tree shaking
translation_of: Glossary/Tree_shaking
---
<p><strong>Tree shaking </strong>是一个通常用于描述移除 JavaScript 上下文中的未引用代码(dead-code) 行为的术语。</p>

<p>它依赖于ES2015中的 <a href="/zh-CN/docs/Web/JavaScript/Reference/Statements/import">import</a> 和 <a href="/zh-CN/docs/Web/JavaScript/Reference/Statements/export">export</a> 语句,用来检测代码模块是否被导出、导入,且被 JavaScript 文件使用。</p>

<p>在现代 JavaScript 应用程序中,我们使用模块打包(如<a href="https://webpack.js.org/">webpack</a><a href="https://github.com/rollup/rollup">Rollup</a>)将多个 JavaScript 文件打包为单个文件时自动删除未引用的代码。这对于准备预备发布代码的工作非常重要,这样可以使最终文件具有简洁的结构和最小化大小。</p>

<h2 id="了解更多">了解更多</h2>

<h4 id="常识">常识</h4>

<ul>
 <li><a href="http://exploringjs.com/es6/ch_modules.html#_benefit-dead-code-elimination-during-bundling">"捆绑过程中死代码消除的好处"</a> 在Axel Rauschmayer的书中:“探索JS:模块”</li>
</ul>

<h4 id="技术参数资料">技术参数资料</h4>

<ul>
 <li><a href="https://webpack.js.org/guides/tree-shaking/">用webpack实现Tree shaking</a></li>
</ul>