React中export {xx} from简写语法对default exports无效是什么原因?
这是ES Module标准规定的语法差异,不属于配置遗漏问题
两种写法的作用完全不同:
export { module } from 'path'是专门用于重新导出其他模块的命名导出的语法,以上写法只会把path模块中名为module的命名导出重新对外抛出,不会处理模块的默认导出,自然会在处理default exports时失效。
如果要直接用单行重新导出语法导出默认导出,正确写法为:export { default as module } from 'path'该写法和你拆分写的两行导入再导出效果完全一致。
你使用的两行写法
import module from 'path'(注意语法规范中路径参数需要加引号,原示例漏写了引号)属于默认导入语法,会主动读取path模块的default导出赋值给module变量,之后再导出的就是对应的默认值,因此可以正常运行。
举个实际例子验证
假设存在a.js内容如下:
// 导出默认值 export default 100 // 导出名为count的命名值 export const count = 200
如果需要在入口文件统一重新导出:
- 重新导出命名导出count:
export { count } from './a.js' - 重新导出默认导出为customVal:
export { default as customVal } from './a.js'
内容的提问来源于stack exchange,提问作者user1889017
相关产品推荐
相关产品推荐

