【Webpack 性能优化系列(5) - tree shaking 】去除未引用代码,减少代码体积!!! 淩亂°似流年 2022-09-09 13:48 146阅读 0赞 **webpack系列文章:** * [【Webpack 性能优化系列(9) - 多进程打包】极大的提升项目打包构建速度!!!][Webpack _9_ -] * [【Webpack 性能优化系列(8) - PWA】使用渐进式网络应用程序为我们的项目添加离线体验][Webpack _8_ - PWA] * [【Webpack 性能优化系列(7) - 懒加载和预加载】][Webpack _7_ -] * [【Webpack 性能优化系列(6) - code splitting 】通过代码分割来获取更小的 bundle,优化资源加载][Webpack _6_ - code splitting _ bundle] * [【Webpack 性能优化系列(4) - 缓存 】详解如何做bable缓存和文件资源缓存][Webpack _4_ - _ _bable] * [【Webpack 性能优化系列(3) - oneOf】][Webpack _3_ - oneOf] * [【Webpack 性能优化系列(2) - source-map】][Webpack _2_ - source-map] * [【Webpack 性能优化系列(1) - HMR 热模块替换】][Webpack _1_ - HMR] * [【Webpack 生产环境配置】近两万字长文总结学习如何提取css为单独文件、css的压缩和兼容性处理,如何压缩html和js、如何做js语法检查eslint和js兼容性处理babel!!!][Webpack _css_css_html_js_js_eslint_js_babel] * [【Webpack 开发环境配置】万字长文总结学习如何打包样式资源、html资源、图片资源和其他资源?devServer是什么,如何配置?][Webpack _html_devServer] * [【Webpack 简介及五个核心概念】][Webpack] # tree shaking # `tree shaking` 是一个术语,用于描述移除 JavaScript 上下文中的未引用代码(dead-code)。它依赖于 ES2015 模块语法的 静态结构 特性,例如 `import` 和 `export`。 **`tree shaking` 可以去除未引用代码,减少代码体积。** **前提是:必须使用ES6模块化** **使用方法:开启production环境就会自动启动`tree shaking`** **问题:** **tree shaking不同版本会有一点点差异,这些差异会无意之间将我们的css代码当作未引用代码而把它干掉** **为了解决这个问题,我们需要在 package.json 中添加 “sideEffects” 属性。** **`"sideEffects": false` 代表:所有代码都没有副作用(都可以进行tree shaking),这是sideEffects的默认值**,这可能会把css / @babel/polyfill (副作用)等文件干掉 **我们可以通过配置sideEffects解决上述问题:** package.json // ... "sideEffects": [ "**/*.css", "**/*.scss", "./esnext/index.js", "./esnext/configure.js" ], // ... # 参考 # * https://www.bilibili.com/video/BV1e7411j7T5?p=8&spm\_id\_from=pageDriver * https://webpack.docschina.org/guides/tree-shaking/\#root [Webpack _9_ -]: https://blog.csdn.net/weixin_45844049/article/details/120065367 [Webpack _8_ - PWA]: https://blog.csdn.net/weixin_45844049/article/details/120063411 [Webpack _7_ -]: https://blog.csdn.net/weixin_45844049/article/details/120048999 [Webpack _6_ - code splitting _ bundle]: https://blog.csdn.net/weixin_45844049/article/details/120044485 [Webpack _4_ - _ _bable]: https://blog.csdn.net/weixin_45844049/article/details/120022585 [Webpack _3_ - oneOf]: https://blog.csdn.net/weixin_45844049/article/details/120008581 [Webpack _2_ - source-map]: https://blog.csdn.net/weixin_45844049/article/details/120002385 [Webpack _1_ - HMR]: https://blog.csdn.net/weixin_45844049/article/details/119982759 [Webpack _css_css_html_js_js_eslint_js_babel]: https://blog.csdn.net/weixin_45844049/article/details/119828504 [Webpack _html_devServer]: https://blog.csdn.net/weixin_45844049/article/details/119718436 [Webpack]: https://blog.csdn.net/weixin_45844049/article/details/119452096
相关 如何使用Tree-shaking减少代码构建体积 如何使用Tree-shaking减少代码构建体积 前言 在实际配置`Webpack`过程中总会遇到一些坑,`Tree-shaking`就是其中之一,按照教程中 àì夳堔傛蜴生んèń/ 2022年11月25日 04:25/ 0 赞/ 159 阅读
相关 Webpack 原理系列九:Tree-Shaking 实现原理 一、什么是 Tree Shaking Tree-Shaking 是一种基于 ES Module 规范的 Dead Code Elimination 技术,它会在运行过程中 秒速五厘米/ 2022年09月10日 00:26/ 0 赞/ 305 阅读
相关 【Webpack 性能优化系列(5) - tree shaking 】去除未引用代码,减少代码体积!!! webpack系列文章: [【Webpack 性能优化系列(9) - 多进程打包】极大的提升项目打包构建速度!!!][Webpack _9_ -] [【Webpa 淩亂°似流年/ 2022年09月09日 13:48/ 0 赞/ 147 阅读
相关 Android 性能优化:使用 Lint 优化代码、去除多余资源 \本篇文章已授权微信公众号(郭霖)独家发布 读完本文你将了解到: 前言 什么是 Lint Lint 工作方式简单介绍 阳光穿透心脏的1/2处/ 2022年07月13日 11:12/ 0 赞/ 182 阅读
相关 【javascript】webpack code split && tree shaking webpack打包vue项目之后的文件太大,本身我们项目的体量也比较大,首次加载太慢。 所以尝试代码分割,对打包之后的app.js进行拆分。 1,[动态加载][Link 1 Dear 丶/ 2022年05月27日 09:11/ 0 赞/ 123 阅读
相关 Webpack 3一些代码体积优化方案的小结 前言 之前接手公司一个前端项目,开发了几个月后越来越难以忍受项目结构的混乱和打包体积的臃肿(脚手架和基本功能代码都是从公司的其他项目复制过来的),如果不立即进行重构,难以 小咪咪/ 2022年05月21日 02:51/ 0 赞/ 184 阅读
相关 12、webpack构建--移除未引用代码(tree shaking ) tree shaking 是一个术语,通常用于描述移除 JavaScript 上下文中的未引用代码(dead-code)。它依赖于 ES2015 模块系统中的静态结构特性,例如 - 日理万妓/ 2022年01月27日 15:19/ 0 赞/ 687 阅读
相关 Tree-Shaking性能优化实践 - 原理篇 一. 什么是Tree-shaking 先来看一下Tree-shaking原始的本意 上图形象的解释了Tree-shaking 的本意,本文 浅浅的花香味﹌/ 2021年09月18日 08:02/ 0 赞/ 310 阅读
相关 webpack4 去除未使用代码tree shaking 只对import语法有效 若要对require语法有效,在babel-loader的预设中添加modules:true转换成es6模块 "pres 不念不忘少年蓝@/ 2021年07月24日 18:15/ 0 赞/ 295 阅读
还没有评论,来说两句吧...