如何在 Create React App 中删除死代码

How to remove dead code in Create React App

我有一个 create-react-app 项目,我正在努力减小捆绑的 JS 文件大小。我的包大小的大约一半来自一个名为 MDBReact(一个 React 组件库)的依赖项,其中大部分没有被使用。我正在尝试找出 how/if 我可以从捆绑构建中使用 tree shaking 删除死代码。我已经研究了一段时间,我找到的最接近的文章是 . This article leaves me confused and it does not give any explanation into how or if it can be done. I also found this webpack tree shaking 指南,解释了如何完成,但这似乎并没有解决问题。

CRA 使用 webpack 打包代码。 webpack默认只能treeshake es模块,使用插件时只能支持commonjs模块

为了帮助你,你目前如何从 MDBReact 导入?

看起来 MDBReact 不是用 es 模块编写的,因此如果您使用以下 import 语句,webpack 将很难进行 tree shaking:

import { module } from 'MDBReact';

您可以尝试使用以下方法导入

import modules from 'MDBReact/module';

您可能必须根据 MDBReact 的结构更改模块的路径。看看 node_modules 文件夹就知道了。