【问题标题】:How can I solve "Cannot read property 'define' of undefined"?如何解决“无法读取未定义的属性‘定义’”?
【发布时间】:2021-05-10 04:46:19
【问题描述】:

在我的项目中,我为 Postgresql 中存在的数据定义了使用 sequelize 的模型。我收到Uncaught Error: Cannot read property 'define' of undefined TypeError: Cannot read property 'define' of undefined

我尝试添加var Sequelize = require('sequelize');,但没有成功

我该如何解决这个错误?

型号

module.exports = {
    Customer_data: (sequelize, DataTypes) => {
        const Customer_data = sequelize.define('Customer_data', {
            termkey: {
                type: DataTypes.NUMBER,
                allowNull: false,
                primaryKey: true
            },
            
        }
        
        return Customer_data;
    }}

在路由文件中调用Customer_data

routes.js 文件

const NewFile= require("../db/newFile"),
      newFile= new NewFile(config.db.release.dataset);

const { sequelize } = newFile;
const Sequelize = require('sequelize');
const { Customer_data} = require('../db/Models');
const customer_data= Customer_data(sequelize, Sequelize);


newFile.js

const { db: { release: { color: color1, color2} }, sequelize: conf }
      = require("config"),
      { Sequelize, Op, NumberTypes } = require("sequelize");

module.exports = NewFile;
class NewFile{
   //code
}

【问题讨论】:

  • 这意味着sequelizeundefined,因此它没有define 属性。 Customer_data 是如何被调用的?
  • 你为什么要在一个名为Customer_data的函数中声明一个名为Customer_data的常量?
  • 我编辑了我的 qs,你能检查一下吗
  • 你怎么打电话给Customer_data
  • 还有Sequelize(大写S,类),你有没有一行const sequelize = new Sequelize(connectionString);(小写s,对象)? sequelize.org/master/manual/…

标签: javascript sequelize.js undefined typeerror


【解决方案1】:

您可能应该通过在构造函数中传递数据库、用户、密码、选项来创建一个新的 sequelize 对象。

constructor(conn){
sequelize = new Sequelize(conn.db,conn.user,conn.password,conn.options); 
}

【讨论】:

    【解决方案2】:

    此错误意味着sequelize 未定义为传递给您的函数。你是require()ing 为Sequelize,但传递了sequelize

    【讨论】:

    • 我已经添加了更多细节,希望现在更清楚
    • NewFilenewFile.js 中定义在哪里?
    • 它是 newFile.js 中的一个类
    • define 是那个类的方法吗?
    • 不,这就是你定义模型的方式 - sequelize.org/master/manual/model-basics.html
    猜你喜欢
    • 2019-04-30
    • 2022-01-26
    • 2019-11-21
    • 2018-12-21
    • 2020-11-17
    • 2020-07-23
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    相关资源
    最近更新 更多