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

解决Sequelize包'./types'子路径未在exports中定义的报错问题

解决Sequelize报错:Package subpath './types' is not defined by "exports"

问题根源

报错的核心原因是你在User.model.ts中使用了错误的模块导入路径:

import { DataTypes, Model, Optional } from "sequelize/types";

Sequelize v6及以上版本的package.json里,exports字段并未声明./types这个子路径,Node.js的模块解析机制无法识别该路径,因此触发报错。

解决方案

1. 修正导入语句

将User.model.ts中的导入代码改为直接从sequelize包导入所需内容:

import { DataTypes, Model, Optional } from "sequelize";

Sequelize v6+本身内置了完整的TypeScript类型定义,不需要从sequelize/types单独导入。

2. 确认依赖版本

  • 检查当前sequelize版本:
    npm list sequelize
    
    如果版本低于v6,执行升级:
    npm install sequelize@latest
    
  • 无需额外安装@types/sequelize,v6+自带的类型定义已经足够,重复安装反而可能引发类型冲突。

3. 验证修复

修改完成后重启Express服务,调用/api/users接口,User.create()方法即可正常执行,不会再出现该报错。

补充提示

如果项目中其他文件也存在sequelize/types的导入路径,需要同步修改为直接从sequelize导入,避免重复触发相同问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:16:01