首页 > 解决方案 > 模块导出返回我一个函数

问题描述

这是我的 Cliente.js,它是一个模型

const Sequelize = require('sequelize');
module.exports = function(sequelize, DataTypes) {
  const cliente = sequelize.define('cliente', {
    id: {
      type: DataTypes.INTEGER,
      allowNull: false,
      primaryKey: true
    },
    nombre: {
      type: DataTypes.STRING(20),
      allowNull: true
    }
  }, {
    sequelize,
    tableName: 'cliente',
    timestamps: false,
    indexes: [
      {
        name: "PRIMARY",
        unique: true,
        using: "BTREE",
        fields: [
          { name: "id" },
        ]
      },
    ]
  });
  return cliente;
};

那是我的 app.js

var express = require('express');
const Sequelize = require('sequelize');
const Cliente = require("./Modelos/cliente")
var app = express();
const db = require("./database/db")

db.sequelize.authenticate().then(() => {
  console.log('Connection has been established successfully.');
  console.log(Cliente)
}).catch(err => {
  console.error('Unable to connect to the database:', err);
});

“console.log(Cliente)”行返回“[Function]”而不是模型。

我怎样才能得到模型而不是函数?

标签: javascriptnode.jssequelize.js

解决方案


所以尝试改变这一行


module.exports = function(sequelize, DataTypes) {


exports.sequ = function(sequelize, DataTypes) {

然后改变


const Cliente = require("./Modelos/cliente");

而这一行到 console.log(Cliente.sequ)


推荐阅读