首页 > 解决方案 > 如何在 Create React App 中删除死代码

问题描述

我有一个 create-react-app 项目,我正在努力减少捆绑的 JS 文件大小。我的包大小大约有一半来自名为 MDBReact(一个反应组件库)的依赖项,其中大部分都没有被使用。我正在尝试找出如何/是否可以从捆绑构建中删除带有摇树摇晃的死代码。我已经研究了一段时间,我找到的最接近的文章是这个。这篇文章让我感到困惑,它没有解释如何或是否可以做到。我还找到了这个关于 webpack tree shaking 的指南,解释了它是如何完成的,但这似乎并不能解决问题。

标签: reactjswebpackbabeljscreate-react-apptree-shaking

解决方案


CRA 正在使用 webpack 来捆绑代码。Webpack 默认只能 treeshake es 模块和使用插件时的 commonjs 模块。

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

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

import { module } from 'MDBReact';

相反,您可以尝试使用以下导入

import modules from 'MDBReact/module';

您可能必须根据 MDBReact 的结构来更改模块的路径。查看 node_modules 文件夹以找出答案。


推荐阅读