You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将默认导出转为命名导出?utils目录重导出问题咨询

将默认导出转为命名导出的正确做法

当然可以实现把其他模块的默认导出作为命名导出统一抛出的需求!你之前尝试的语法不符合ES模块的规范,咱们用两种正确的方式来解决:

方法一:简洁的重导出语法(推荐)

ES2020及以后支持直接将目标模块的默认导出映射为命名导出,语法如下:

export { default as Constants } from './Constants';

这样就把./Constants模块里的默认导出,以Constants这个命名导出的形式,从你的utils/index.js里抛出去了。

方法二:先导入再导出

如果需要兼容更老的环境,也可以拆分两步来做:先把目标模块的默认导出导入进来,再作为命名导出抛出:

// 先导入Constants模块的默认导出,命名为Constants
import Constants from './Constants';
// 再将其作为命名导出抛出
export { Constants };

结合你现有代码的示例

把这个写法融入你现有的utils/index.js里,最终代码会是这样:

// 将Constants模块的默认导出转为命名导出Constants
export { default as Constants } from './Constants';
// 导出Constants模块的所有命名导出(如果该模块有命名导出的话)
export * from './Constants';
// 导出Time模块的TIME命名导出
export { TIME } from './Time';

之后在应用的其他文件里,你就可以直接通过import { Constants, TIME } from './utils'来获取对应的内容啦~

内容的提问来源于stack exchange,提问作者mancristiana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:17:55