webpack性能优化-tree shaking(树摇)

摘要:
TREESHAKING:删除应用程序中未使用的无用代码:① 使用ES6模块化;② 启用生产环境;减少代码量;测试测试。js定义了通过ES6模块index公开add和count的两种方法。js中引入了add和count方法,但count方法的返回值不是使用webpack编译的。打包的js文件未执行count方法,未使用的代码将自动删除

tree shaking:去除应用程序中没有使用到的无用代码

前提:

 ① 使用 ES6 模块化

② 开启 production 环境

作用:减少代码体积

test.js

webpack性能优化-tree shaking(树摇)第1张

test.js 中定义了 通过 ES6 模块 暴露了 add 和 count 两个方法,

webpack性能优化-tree shaking(树摇)第2张

index.js 中 引入了 add 和 count 方法,但是 count 方法的返回值没有使用

webpack性能优化-tree shaking(树摇)第3张

webpack性能优化-tree shaking(树摇)第4张

webpack 编译打包后的 js 文件中,没有 count 方法的执行,自动去除了没有使用的无用代码,

当在 package.json 中配置 "sideEffects" : false,时,所有的代码都可以进行 tree shaking,都没有副作用

webpack性能优化-tree shaking(树摇)第5张

webpack性能优化-tree shaking(树摇)第4张

但是,可能会把css / @babel/polyfill (副作用)文件去除

避免这种情况,需要重新配置    "sideEffects": ["*.css", "*.less"],过滤到这些文件使用 tree shaking

webpack性能优化-tree shaking(树摇)第7张

webpack性能优化-tree shaking(树摇)第8张

css 文件 保存了

免责声明:文章转载自《webpack性能优化-tree shaking(树摇)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Lucene 学习之二:数值类型的索引和范围查询分析WMI_COM_API下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

koa和egg项目webpack热更新实现

背景 在用Node.js+Webpack构建的方式进行开发时, 我们希望能实现修改代码能实时刷新页面UI的效果. 这个特性webpack本身是支持的, 而且基于koa也有现成的koa-webpack-hot-middleware 和 koa-webpack-dev-middleware 封装好的组件支持. 不过这里如果需要支持Node.js服务器端修改代码...

移动端及vue相关问题

1-pc端与移动端  PC下,html在默认情况下以可视区域宽度为基准。移动设备没有适配时,html宽度为980. 2-1像素还原 获取像素比: window.devicePixelRatio 计算缩放比:1 / window.devicePixelRatio 3-单位 px:固定值,绝对单位;%:相对单位;em:相对单位,相对于自身或者父级元素字体大小计...

带你由浅入深探索webpack4(一)

 相信你或多或少也听说过webpack、gulp等这些前端构建工具。近年来webpack越来越火,可以说成为了前端开发者必备的工具。如果你有接触过vue或者react项目,我想你应该对它有所了解。 这几天我重新整理了一下webpack中知识点,把一些常用到的总结出来,希望能帮助到大家以及加深自己对webpack的理解。 (由于我在写这篇文章的时候webpa...

vuejs心法和技法

http://www.cnblogs.com/kidsitcn/p/5409994.html 注意:本文记录作者在学习和使用vuejs开发中的点点滴滴,从vuejs1.0开始直到现在的vuejs2.0以后的版本。期中部分1.0的内容已经过时,仅作各位朋友参考,建议重点关注2.0相关的内容,会随着我对vuejs有了更多的体会后不断维护更新,也欢迎朋友们批评...

分离Webpack开发环境与生产环境的配置

这是Webpack+React系列配置过程记录的第五篇。其他内容请参考: 第一篇:使用webpack、babel、react、antdesign配置单页面应用开发环境 第二篇:使用react-router实现单页面应用路由 第三篇:优化单页面开发环境:webpack与react的运行时打包与热更新 第四篇:React配合Webpack实现代码分割与异步加...

webpack之代码分离

https://robertknight.github.io/posts/webpack-dll-plugins/ webpack一般会把一个文件里import/require的文件都会打包在一起,最近就在做这方面的工作,文件全部打包在一起了 对服务器的请求确实减少了,可是对于jquery和jquery的插件如果在每个文件重复打包,文件大了加载会很慢,而且...