我正在使用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的大小如下:
现在我更新了代码,只保留案例#1 约定并得到以下结果:
因此,我们可以理解es版本代码会增加供应商包的大小。但是,如果我们可以看到上面的代码段案例#2 导入大小(~29K)与案例#1 相比较少( ~34K),它减少了代码包的大小。
问题#1:为什么添加额外的版本代码?
问题2:我们应遵循哪种惯例?为什么?