为什么导出/导入默认ES模块属性比命名模块属性更快?

Cha*_*ver 4 javascript typescript ecmascript-6 reactjs material-ui

我正在阅读Material UI文档,它说明:

请注意,在上面的示例中,我们使用: import RaisedButton from 'material-ui/RaisedButton';而不是 import {RaisedButton} from 'material-ui';这将使您的构建过程更快,并且您的构建输出更小.

我找不到为什么使用默认导出使构建过程更快或构建输出更小的任何理由.

我的经理要求我们不要使用默认导出,但是较小的构建大小是此项目的重要目标.我通过Material UI提到了这个引用,他们说要找到证据.我想要一些证据,因为我用Babel编译它的尝试已经表明default它更大了.

Lar*_*sen 9

关键是模块是否具有默认导出,而是导入包含所有Material UI组件(material-ui模块)的模块而不是仅包含RaisedButton组件(material-ui/RaisedButton模块)的模块.

要绝对清楚:我们应该使用仅包含单个组件的模块,即material-ui/RaisedButton.

  • 哇,我很蠢.它不是强调花括号; 它强调文件路径.谢谢! (4认同)
  • 究竟.我相信材料-ui文档也说如果你启用了树震动,你使用哪个导入并不重要. (3认同)