美文网首页
webapck摇树优化(tree shaking)

webapck摇树优化(tree shaking)

作者: 小蜗牛的碎碎步 | 来源:发表于2020-09-22 17:57 被阅读0次
概念

摇树是一种消除死代码的方法,应用程序的依赖项是树状结构,树的每个节点都代表了一个依赖项,这些依赖项为应用程序提供了不同的功能,通过消除不需要的依赖项来减少树的节点,这个过程叫摇树。只能适用于es6模块的导入,不适用于commonJS的require,因为es6的模块是静态引入。

  1. 应用程序采用按需加载的方式导出,没有被引用的模块不会被打包进来,减少包大小,缩小应用的加载时间。

  2. es6的模块是静态分析

  3. webpack自带tree shaking,只需要加些配置

webpack.config.js
optimization: {
    // 使用tree-shaking
    usedExports: true, // mode为production时,默认开启
  },
print.js:导出了两个函数
export const add = (a, b) => {
  console.log(a + b);
}

export const minus = (a, b) => {
  console.log(a - b);
}
index.js:只引用了其中一个函数
import { add } from "./print";

add(1, 2);
tree-shaking结果

mode:development,依然将未引入的函数打包了,只是有一句注释标记未被引用,这样做是为了在开发模式下调试方便,如果把代码删除,程序报错时,位置定位不准。


Xnip2020-09-22_17-41-42.jpg

mode:production,打包后的代码被压缩,且未被引入的函数没有打包

相关文章

  • webapck摇树优化(tree shaking)

    概念 摇树是一种消除死代码的方法,应用程序的依赖项是树状结构,树的每个节点都代表了一个依赖项,这些依赖项为应用程序...

  • webpack 之 tree shaking

    tree shaking (摇树优化) webpack 2.0中引入 tree shaking AST(抽象语法树...

  • Tree Shaking

    Tree Shaking 什么是Tree Shaking Tree-shaking (树摇)最早是由Rollup实...

  • Vue3和Vue2的区别

    vue3 新增的亮点 Performance 性能优化 Tree-shaking 支持摇树优化 Compositi...

  • webpack 优化

    代码配置优化 optimization tree shaking(摇树) 摇掉代码中未引用的部分,在webpack...

  • webpack tree shaking (摇树优化)

    摇树优化 一个模块可能有多个方法,只要其中的某个方法使用到了,则整个文件都会被打包到bundle中去,tree s...

  • 4.9 Tree Shaking优化

    4.9 Tree Shaking优化问题一:什么是 Tree Shaking? Tree Shaking 可以用来...

  • Webpack4配置之高级篇

    Tree Shaking 1. css Tree Shaking 2. js优化 提取公共代码 大网站有多个页面,...

  • webpack的打包和性能优化

    webpack的打包和性能优化 tree shaking tree shaking 是一个术语,通常用于描述移除 ...

  • 树摇tree-shaking概述

    tree-shaking是一种消除死代码的性能优化理论,最初由rollup提出概念,目前支持的工具有:rollup...

网友评论

      本文标题:webapck摇树优化(tree shaking)

      本文链接:https://www.haomeiwen.com/subject/hdjqwctx.html