不同文件中的相同导入是否会导致 ReactJS 中的构建大小增加?

Does same imports in different files result in increased build size in ReactJS?

我有一个使用 react-bootstrap 的个人项目。所以我的问题是,如果我在我的两个不同的反应组件中导入一个模态组件,它会导致构建大小增加吗?

如果确实如此,那么最好的导入方式是什么,以防止不必要的增加。

我尝试过构建,但没有发现任何提升。

如果我们专门讨论 捆绑包大小 即用户访问您的页面时下载的初始捆绑包的大小,那么这不是问题(除了一些存储引用的字节数)。

这是因为 react-bootstrap(您使用的部分)将与您的 Web 应用程序捆绑在一起(取决于您的 webpack 配置),然后在整个应用程序中重复使用。

至于你可以做些什么来减少这种情况:

您可以导入您需要的库的子文件夹。例如而不是导入 {Modal} from "react-bootstrap" 你会导入 Modal from "react-bootstrap/modal",虽然我很确定当你 运行 yarn build 时 create-react-app 是免费的(请仔细检查部分)。

这是 运行ning yarn build 之后的新 React 创建应用程序:

这是使用 1 个模态创建的 React 应用程序的构建大小:

这是具有第二个模态的 create React 应用程序的构建大小:

如您所见,第一张图片和第二张图片在尺寸上有明显差异,但第二张和第三张图片之间的差异非常小。