Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js TypeError:defineCall不是函数_Node.js_Sequelize.js - Fatal编程技术网

Node.js TypeError:defineCall不是函数

Node.js TypeError:defineCall不是函数,node.js,sequelize.js,Node.js,Sequelize.js,当index.js尝试从members.js导入模型时,我遇到了一个错误,我无法找出哪里出了问题。members.js是我现在唯一的导入 编辑以显示完整的index.js,以澄清导入和其他功能 index.js "use strict"; const fs = require("fs"); const path = require("path"); const Sequelize = require("sequelize"); const basename = path.basename(mo

当index.js尝试从members.js导入模型时,我遇到了一个错误,我无法找出哪里出了问题。members.js是我现在唯一的导入

编辑以显示完整的index.js,以澄清导入和其他功能

index.js

"use strict";

const fs = require("fs");
const path = require("path");
const Sequelize = require("sequelize");
const basename = path.basename(module.filename);
let env = process.env.NODE_ENV || "development";
const config = require(__dirname + "/../config/config.json")[env];
let db = {};

if (config.use_env_variable) {
  var sequelize = new Sequelize(process.env[config.use_env_variable]);
} else {
  var sequelize = new Sequelize(config.database, config.username, config.password, config);
}

fs
  .readdirSync(__dirname)
  .filter(function(file) {
    return (file.indexOf(".") !== 0) && (file !== basename) && (file.slice(-3) === ".js");
  })
  .forEach(function(file) {
    var model = sequelize["import"](path.join(__dirname, file));
    db[model.name] = model;
  });

Object.keys(db).forEach(function(modelName) {
  if (db[modelName].associate) {
    db[modelName].associate(db);
  }
});

db.sequelize = sequelize;
db.Sequelize = Sequelize;

module.exports = db;
members.js

module.exports = function(sequelize, type) {
  var Members = sequelize.define('Members', {
    id: {
      type: type.INTEGER,
      primaryKey: true,
      autoIncrement: true
    }
  };
  return Members;
};

您在哪里导入sequalize?如果您还没有在更中心的地方定义它,那么您可以在members.js中要求它。它在index.js中是必需的。我在原始帖子中添加了竞争代码。这是否回答了你的问题?否,因为我的筛选函数应该针对basename变量进行动态筛选。我已将常量更改为let,但仍然得到相同的错误。