当前位置: 首页 > 知识库问答 >
问题:

关于摇树/副作用的问题

孔茂
2023-03-14

我试图减少我的nextjs项目的捆绑包大小,但我遇到了一些树抖动的问题。让我解释一下。我有一个Flags.js文件,可导出多个标志组件:

export { default as FlagsCn } from './FlagsCn';
export { default as FlagsDe } from './FlagsDe';
export { default as FlagsEsCt } from './FlagsEsCt';
export { default as FlagsEs } from './FlagsEs';
export { default as FlagsFr } from './FlagsFr';
export { default as FlagsGb } from './FlagsGb';
export { default as FlagsGr } from './FlagsGr';
export { default as FlagsIt } from './FlagsIt';
export { default as FlagsJp } from './FlagsJp';
export { default as FlagsNo } from './FlagsNo';
export { default as FlagsPh } from './FlagsPh';
export { default as FlagsPt } from './FlagsPt';
export { default as FlagsRu } from './FlagsRu';
export { default as FlagsTh } from './FlagsTh';
export { default as FlagsBg } from './FlagsBg';

然后,我只将两个标志导入到另一个组件中:

import { FlagsFr, FlagsGb } from '@components/Flags';

但我注意到,当我使用webpack bundle analyzer查看捆绑包时,所有标志都被导入。如果我在package.json中应用了sideEffects to false,js包文件大小会减少400kb,但是在导航过程中我遇到了一些奇怪的错误。我认为这意味着一些图书馆正在造成副作用。

那我该怎么办?谢谢你的帮助:)

共有1个答案

柳珂
2023-03-14

可能的原因是您没有在webpack.config.js中设置模式:“生产”

此外,如果不需要同时使用所有标志,请考虑代码拆分。它可以通过以下方式完成:

>

拥有多个React SPA

 类似资料:
  • 我正在尝试使用IBMwatson TTS引擎播放文本。在播放声音时,我收到以下错误: ALSA库整合。c: 1286:(snd_func_refer)找不到定义“卡”。bcm28 35.pcm.subround51.0:CARD=0'ALSA lib conf.c:4259:(_snd_config_evaluate)function snd_func_refer返回了错误 或:没有这样的文件或目

  • 我只从语义ui中导入一个组件 但是在运行之后,我看到了捆绑包中语义UI的所有组件,其大小超过300KB(~30KB,没有语义UI)。我安装了所有最新版本:webpack@4.14.0; 语义用户界面-react@0.81.3 这是我的webpack.config.js 我做错什么了吗?我如何使树摇动工作与语义ui-反应?我不想看到捆绑包中未使用的组件。

  • 背景:基于Element UI 开发的项目,使用到了Tree树型控件 需求:页面有一个tree控件(可选择)如图 这个控件在切换月份的时候可能存在二级节点下有新增的节点或者减少的节点, 如果 ‘一级2’被全部中了,那么切换其他月份如果 ‘一级2’节点下有新增的节点也要勾选上。 树的深度不确定(后端返的),数据量大的时候遍历判断会影响性能,求问各位大佬 有什么比较好的办法处理吗 找出两颗树的差异的节

  • 在android Studio中,是什么意思?

  • 问题内容: 常量INADDR_ANY是所谓的IPv4通配符地址。通配符IP地址对于在多宿主主机上绑定Internet域套接字的应用程序很有用。如果多宿主主机上的应用程序将套接字仅绑定到其主机的IP地址之一,则该套接字只能接收发送到该IP地址的UDP数据报或TCP连接请求。但是,我们通常希望多宿主主机上的应用程序能够接收指定主机IP地址的数据报或连接请求,并将套接字绑定到通配符IP地址可以实现这一点

  • 有时我们会遇到几个关于Autoconf的问题。下面是被提及的一些问题。 发布configure脚本 对发行由Autoconf生成的configure有什么限制?它们是如何影响我那些使用它们的程序的? 关于由Autoconf生成的配置脚本是如何发行和如何被使用的,并没有限制。在Autoconf第1版中,它们是服从GNU通用公共许可证的。 我们仍然鼓励软件的作者按照诸如GPL的条款发行他们的作品,但A