Node.js TypeError:defineCall不是函数
当index.js尝试从members.js导入模型时,我遇到了一个错误,我无法找出哪里出了问题。members.js是我现在唯一的导入 编辑以显示完整的index.js,以澄清导入和其他功能 index.jsNode.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
"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,但仍然得到相同的错误。