javascript - 与 Create-React-App 一起使用时,我们应该导入整个库还是特定的单个组件?
问题描述
我在性能/优化问题上问这个。我意识到所有库(以及它们的默认导出方法)都是不同的,但是例如在 react-bootstrap 的文档介绍中它指出
您应该导入单个组件,例如:react-bootstrap/Button 而不是整个库。这样做只会引入您使用的特定组件,这可以显着减少您最终发送给客户端的代码量。
由于我们是 2019 年,Create-React-App (CRA) 的构建是否会自动为我们优化并且只导入那些至少使用过一次的组件?
如果是这样,这是否意味着我们可以忽略建议并导入整个库而不是特定组件?
解决方案
以下是文档给出的两个示例:
import Button from 'react-bootstrap/Button';
这是推荐的导入方式。在这种情况下,您是从库中显式导入组件。
// or less ideally
import { Button } from 'react-bootstrap';
此方法导入整个库并将 Button 组件添加到该文件的范围内。这个案例使用了 Webpack 的 tree-shaking 功能来减小包的大小,这并不完全可靠。本文提供了有关为什么会这样的见解:https ://advancedweb.hu/2017/02/07/treeshaking/
推荐阅读
- python - 图中的 Python 最优点(帕累托效率)
- excel - 自动筛选范围类失败
- python - 如何通过目录和子文件夹进行计算
- php - PHP REST API 404
- python-3.x - Python 3 生成器函数返回相同的值
- javascript - HTML 表单选择下拉选项和隐藏表单字段未显示在使用 JS 脚本的 PHP 表单中
- javascript - 无法更改 vuetify 按钮轮廓颜色
- python - 根据另一行的值更新数据框中的行值?
- python - 类型错误:
不是估算器实例 - c# - Blazor [WASM] System.TypeLoadException:无法使用令牌 0100001a 解析类型