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

为什么对flatten-js默认导出ES模块解构导入报TS2614,const解构无错?

问题原因

该问题由@flatten-js/core库的类型声明导出配置不规范导致:

  • 库的类型定义仅对外暴露了default默认导出的完整命名空间对象,没有单独声明point等API的命名导出。使用import { point } from '@flatten-js/core'写法时,TS类型检查系统找不到对应point的导出声明,因此抛出不存在的错误。
  • 默认导入后解构的写法完全匹配类型定义中默认导出的对象结构,所以TS可以正常识别到point是默认导出对象上的成员,不会报错。

如果实际运行时命名导入可正常执行、仅存在类型报错,说明库的运行时代码已经完成ESM命名导出兼容,仅类型声明未同步更新,属于典型的类型定义与实际代码不匹配问题。

优化修复方案

若要优化该库的开发者体验,只需在库的类型声明文件中补充所有公开API的命名导出即可,示例格式如下:

export const point: typeof Flatten.point;
export const circle: typeof Flatten.circle;
// 其余公开API按相同规则补充即可

若为项目临时修复,可在自有项目中新增.d.ts声明文件,补充上述对应模块的命名导出声明即可解决类型报错。

内容的提问来源于stack exchange,提问作者J. Barca

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:57:02