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

Node.js运行Sequelize代码报Cannot read property 'STRING' of undefined错如何解决

报错原因与修复方案

这个报错的核心是你代码中作为第二个参数传入的Sequelize值为undefined,所以无法读取其上的STRING属性,常见的出错场景和对应修复方法如下:

  • 导入模型时漏传参数
    你在其他文件调用这个模型导出的函数时,只传了第一个sequelize实例参数,漏传了第二个Sequelize构造函数,补全即可,参考写法:
// 先引入Sequelize和初始化实例
const { Sequelize } = require('sequelize');
const sequelize = new Sequelize('你的数据库名', '账号', '密码', {
  host: '127.0.0.1',
  dialect: 'mysql' // 替换为你实际使用的数据库类型
});
// 导入模型时必须传两个参数
const User = require('./user模型文件的相对路径')(sequelize, Sequelize);
  • 改用新版本Sequelize推荐写法
    如果你使用的是v6及以上版本的Sequelize,更推荐直接在模型文件引入DataTypes定义字段类型,不需要依赖外部传入的Sequelize参数,修改你的模型代码如下:
const { DataTypes } = require('sequelize');

module.exports = (sequelize) => {
  const User = sequelize.define("users", {
    username: {
      type: DataTypes.STRING
    },
    email: {
      type: DataTypes.STRING
    },
    password: {
      type: DataTypes.STRING
    }
  })
  return User;
}

修改后导入模型时只需要传sequelize实例即可,也能避免这个报错。

  • 检查sequelize初始化逻辑
    如果上面两种方法都没有解决,检查你sequelize实例的初始化代码有没有语法错误、配置参数错误,导致实例没有正常生成,间接引发传参异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:42:00