webpack的treeshaking的实现
这篇文章将为大家详细讲解有关webpack的tree shaking的实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,成都网站制作、网站建设、外贸网站建设,塑造企业网络形象打造互联网企业效应。
webpack的tree shaking
util.js
export const a = () => { console.log("a123456方法"); }; export const b = () => { console.log("b123456方法"); };
main.js
import {a} from './utils'; a();
sideEffects
一般而言,上述代码,在 webpack 进行 tree shaking 能够不打包 function b 的代码,这是因为 webpack 对代码进行了分析, b 没有引用不会打包。
但是npm包中,通过这种方式去引用,你会发现 tree shaking 并没有生效, 这是因为webpack无法识别你的代码是否存在副作用,故而无法执行tree shaking ,解决方法是给你的npm包 package.json 加上 sideEffects: false ,告诉webpack是无副作用的, webpack 可以放心处理。
什么是副作用( side effect ),即你的函数会对外部变量造成影响,比如
function a() {} a.location = window.location a.location.hash = 'll'
关于webpack的tree shaking的实现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
分享文章:webpack的treeshaking的实现
文章出自:http://pwwzsj.com/article/gccgdo.html