reactjs - 如何在 Create React App 中删除死代码
问题描述
我有一个 create-react-app 项目,我正在努力减少捆绑的 JS 文件大小。我的包大小大约有一半来自名为 MDBReact(一个反应组件库)的依赖项,其中大部分都没有被使用。我正在尝试找出如何/是否可以从捆绑构建中删除带有摇树摇晃的死代码。我已经研究了一段时间,我找到的最接近的文章是这个。这篇文章让我感到困惑,它没有解释如何或是否可以做到。我还找到了这个关于 webpack tree shaking 的指南,解释了它是如何完成的,但这似乎并不能解决问题。
解决方案
CRA 正在使用 webpack 来捆绑代码。Webpack 默认只能 treeshake es 模块和使用插件时的 commonjs 模块。
为了帮助您,您目前如何从 MDBReact 导入?
看起来 MDBReact 不是用 es 模块编写的,因此如果您使用以下 import 语句,webpack 将很难进行树抖动:
import { module } from 'MDBReact';
相反,您可以尝试使用以下导入
import modules from 'MDBReact/module';
您可能必须根据 MDBReact 的结构来更改模块的路径。查看 node_modules 文件夹以找出答案。
推荐阅读
- c# - 有没有办法代替双重不冻结项目,而是说无效号码?
- html - 为什么不使用最高的 z-index 允许我的图标覆盖应该在它下面的 div 但它不会?
- gremlin - 通过另一个顶点查询顶点 [GREMLIN]
- json-api - 日期字符串作为 json-api 中的 id
- c - CS50 替换,检查重复项和检查所有字符是否为字母的问题
- wordpress - 使用一个登录 saml 插件登录 ADFS 时出错
- java - Firebase orderbychild 无法正常工作
- android - Android textview在使用动画更改其可见性后闪烁
- angular - 即使在导入 CalendarModule 并将其添加到 AppModule 中的导入后,我也收到“p-calendar”不是已知元素错误
- javascript - 干 - 打字稿。我如何使用 DRY 原则来避免这两个吸气剂的重复