捆绑包大小因Material UI的导入约定而异

时间:2018-03-20 22:05:25

标签: reactjs webpack material-ui

我正在使用material-ui @ next(v1.0.0-beta.38)

在我们现有的项目中,开发人员遵循从Material UI导入组件的不同约定。如下:

// Case #1
import Button from "material-ui/Button";     // 121.8K (gzipped: 33.9K)

// Case #2
import Button from "material-ui/es/Button";  // 101.8K (gzipped: 29.4K)

在生产捆绑(使用webpack)之后,材料ui的大小如下:

enter image description here

现在我更新了代码,只保留案例#1 约定并得到以下结果:

enter image description here

因此,我们可以理解es版本代码会增加供应商包的大小。但是,如果我们可以看到上面的代码段案例#2 导入大小(~29K)案例#1 相比较少( ~34K),它减少了代码包的大小。

问题#1:为什么添加额外的版本代码?

问题2:我们应遵循哪种惯例?为什么?

0 个答案:

没有答案