导出数量
- 默认导出:一个模块只能默认导出一个值或对象。
- 普通导出:一个模块中可以导出多个值或对象。
命名方式
- 默认导出:在导出时不需要使用特定的名称,可以使用任意变量名作为导出的标识符。在导入时,也可以使用任何名称进行引用,不需要与导出的变量名一致。
- 普通导出:每个导出项都需要使用特定的名称进行导出,这些名称在导入时也必须使用相应的名称进行引用。
导入语法
- 默认导出:在导入时,可以使用
import defaultExport from 'module'
的语法,其中defaultExport
是自定义的导入名称,module
是模块路径。- 普通导出:在导入时,需要使用
import {nameExport} from 'module'
的语法,其中nameExport
是导出时使用的名称,module
是模块路径。如果需要导入模块中的所有导出项,可以使用import * as name from 'module'
的语法。
- 普通导出:在导入时,需要使用
使用场景
- 默认导出:适用于模块中只有一个主要导出项的情况。由于导入时可以自定义名称,因此默认导出在模块之间提供了更大的灵活性。
- 普通导出:适用于模块中有多个导出项的情况。每个导出项都使用特定的名称进行导出和引用,这使得在模块之间共享多个功能或数据变得更加清晰和明确。
注意事项
- 在同一个模块中,不能同时使用默认导出和普通导出。这是因为默认导出已经占据了整个模块的导出位置,无法再添加其他导出项。
总结
默认导出和普通导出在导出数量、命名方式、导入语法和使用场景等方面存在明显的区别。选择哪种导出方式取决于模块的具体需求和设计目标。