tree shaking sideEffects

参考:https://blog.csdn.net/u012961419/article/details/107094056/

webpack通过配置optimization.sideEffects为true,表示打包时跳过那些没有被使用的且被package.json标记为无副作用的模块。

表现为:

webpack打包结果不会保留这些没有意义的「导入模块行为」的代码。
webpack打包结果不会保留没有使用(导入)的模块。
开启后,webpack会去package.json中寻找sideEffects字段。

package.json中的sideEffects字段表示,当前项目中的模块是否有副作用,默认为true。

webpack找到这个字段,且它定义的如果是false(当前项目中的模块无副作用)。

那么这些没有被用到的模块就不会被打包。

注意:

package.json和webpack配置文件中的sideEffects虽然同名,但表示的意义不同。

package.json的sideEffects:标识当前package.json所影响的项目,当中所有的代码是否有副作用
默认true,表示当前项目中的代码有副作用
webpack配置文件中的sideEffects:开启功能,是否移除无副作用的代码
默认false,表示不移除无副作用的模块
在production模式下自动开启。
webpack不会识别代码是否有副作用,只会读取package.json的sideEffects字段。

二者需要配合使用,才能处理无副作用的模块。

具体标识项目中哪些文件有副作用,webpack就不会忽略这些有副作用的模块

  • 这种方式,未被标识的模块,就会被当作无副作用处理

Original: https://www.cnblogs.com/mengfangui/p/15826250.html
Author: 孟繁贵
Title: tree shaking sideEffects

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/552698/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • php中的替换

    首先修改PHP.ini文件. 如下:1. 将short_open_tag = Off 改成On开启以后可以使用PHP的短标签:来代替同时,只有开启这个才可以使用 2. 将 asp_…

    技术杂谈 2023年5月31日
    0128
  • Java 中HashMap详解(含HashTable, ConcurrentHashMap)

    本篇重点: 1.HashMap的存储结构 2.HashMap的put和get操作过程 3.HashMap的扩容 4.关于transient关键字 5.HashMap, HashTa…

    技术杂谈 2023年6月21日
    0110
  • 【Golang】golang中map元素的删除和清空

    当我们想把一个map元素完全清空的时候 可以直接赋值一个新的map过去就可以了,Go语言中并没有为 map 提供任何清空所有元素的函数、方法,清空 map 的唯一办法就是重新 ma…

    技术杂谈 2023年6月1日
    0125
  • SSM实战(59)在线教育(59)前端(26)课程管理(14)课程信息确认

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/qiu-hua/p/16514910.htmlAutho…

    技术杂谈 2023年6月1日
    0106
  • Redis集群(三)集群模式

    一、 集群的作用 集群,即Redis Cluster,是Redis 3.0开始引入的分布式存储方案。 集群由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点…

    技术杂谈 2023年7月24日
    095
  • Symantec Backup Exec在Snapshot Processsing状态挂起案例

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/kerrycode/p/14835782.htmlAut…

    技术杂谈 2023年5月31日
    092
  • Chromium 命名规范

    Chromium 代码中的文件数不胜数,读懂文件名可以帮我们快速定位某个文件的用途。好的文件命名方式应该是自解释的,能够实现 “望文生义” 的效果。不过 C…

    技术杂谈 2023年5月31日
    074
  • 到底什么是TORCH.NN?

    该教程是在notebook上运行的,而不是脚本,下载notebook文件。 PyTorch提供了设计优雅的模块和类: torch.nn, torch.optim, Dataset,…

    技术杂谈 2023年7月25日
    068
  • 面试必问的安卓虚拟机,你真的掌握了么?——安卓虚拟机基础知识回顾

    前言 21世纪,安卓虚拟机正在一步步的走入我们的生活,小到个人部分朋友在电脑上使用安卓虚拟机玩手游,大到安卓从业人员在虚拟机上面跑程序。不得不承认,对于每一位Androider 而…

    技术杂谈 2023年7月11日
    084
  • AtCoder Beginner Contest 235

    AtCoder Beginner Contest 235 A – Rotate 思路分析: 因为他给的数是三位数,我们直接取出每一位,然后拼凑就可以了 代码如下: #i…

    技术杂谈 2023年7月24日
    082
  • resttemplate的ReadTimeout和ConnectTimeout

    问题描述:今天,在做微服务开发中,A服务区调用B服务,获取数据做导出excel操作。A服务出现了”java.net.SocketTimeoutException: Re…

    技术杂谈 2023年5月31日
    097
  • InnoDB什么时候会锁表?

    我们常常说InnoDB是行锁,但是这里介绍一下它锁表的情况。 InnoDB行锁是通过索引上的索引项来实现的,这一点MySQL与Oracle不同,后者是通过在数据中对相应数据行加锁来…

    技术杂谈 2023年5月31日
    0103
  • 双缓冲绘图

    双缓冲绘图 大家小时候都玩过飞机大战吧,当我们在玩这种飞行射击类游戏时,背景图总是不断地向下移动的,从而给我们营造出一种飞机正在向前飞行的游戏体验。那么,图片的快速变化是如何实现的…

    技术杂谈 2023年7月23日
    089
  • chess video

    预备知识: reduce() ”’ 用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 functi…

    技术杂谈 2023年7月24日
    066
  • Flink之状态编程

    状态编程是Flink最出色的功能没有之一 一、什么是状态? 在流式计算中有些操作一次处理一个独立的事件(比如解析一个事件), 有些操作却需要记住多个事件的信息(比如窗口操作). 那…

    技术杂谈 2023年7月24日
    0120
  • 提升git clone速度

    查看github.global.ssl.fastly.Net的ip地址 nslookup github.global.ssl.fastly.Net Original: https:…

    技术杂谈 2023年7月11日
    066
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球