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

Javascript 为什么导出/导入默认ES模块属性比命名模块属性快?,javascript,reactjs,typescript,ecmascript-6,material-ui,Javascript,Reactjs,Typescript,Ecmascript 6,Material Ui,我正在阅读材料UI文档,其中说明: 请注意,在上面的示例中,我们使用了: import RaisedButton from'material ui/RaisedButton'而不是 从“物料界面”导入{RaisedButton}这将使您的构建 处理速度更快,生成输出更小 我找不到任何理由来解释为什么使用默认导出会使生成过程更快或生成输出更小 我的经理要求我们不要使用默认导出,但是较小的构建大小是这个项目的一个重要目标。我在Material UI中提到了这句话,他们说要找到证据。我需要一些证据,因

我正在阅读材料UI文档,其中说明:

请注意,在上面的示例中,我们使用了:
import RaisedButton from'material ui/RaisedButton'而不是
从“物料界面”导入{RaisedButton}这将使您的构建
处理速度更快,生成输出更小

我找不到任何理由来解释为什么使用默认导出会使生成过程更快或生成输出更小


我的经理要求我们不要使用默认导出,但是较小的构建大小是这个项目的一个重要目标。我在Material UI中提到了这句话,他们说要找到证据。我需要一些证据,因为我试图用Babel编译它,结果显示
default
更大。

关键不是模块是否有默认导出,而是您导入了一个包含所有材质UI组件的模块(
材质UI
模块)而不是只包含
RaisedButton
组件的模块(材料ui/RaisedButton
模块)


非常清楚:我们应该使用只包含单个组件的模块,即
材质ui/RaisedButton

。我相信材料ui文档也说,如果你启用了树摇动,你使用哪种导入都不重要。哇,我真傻。它没有强调花括号;它强调了文件路径。谢谢“部分是对的,”西德尼说。当树木晃动时,它不会影响生产束的大小。然而,在开发过程中,我们仍然会受到解析和执行所有JavaScript的影响。@Sidney始终优先使用单个组件导入而不是模块名称空间中的等效命名导入,这绝对有好处,无论您是否启用了树抖动,因为它缩短了编译的持续时间。我所说的“编译”是指运输/捆绑/摇树/缩小。因此,即使运行时代码的结果最终是相同的,您仍然有更快的编译时间。@Bergi我认为这是不言而喻的。。。我没说语法。