我正在学习有关sequelize-cli的教程:https://andela.com/insights/using-graphql-and-sequelize/
我得到了一个错误:“sequelize.import不是一个函数”
它来自models/index.js (它应该捆绑所有模型)
'use strict';
const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/config.json')[env];
const db = {};
// Set DB Connection
let sequelize;
if (config.use_env_variable) {
sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
sequelize = new Sequelize(config.database, config.username, config.password, config);
}
// Import model files in models folder and make table associations where present
fs
.readdirSync(__dirname)
.filter(file => {
return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
})
.forEach(file => {
const model = sequelize['import'](path.join(__dirname, file));
db[model.name] = model;
});
Object.keys(db).forEach(modelName => {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});
db.sequelize = sequelize;我在网上搜索解决方案,但无论我看到什么,它都不起作用。
有什么想法吗?
发布于 2020-07-24 08:29:47
OK解决了!
我还没有意识到
.forEach(file => {
const model = sequelize['import'](path.join(__dirname, file));
db[model.name] = model;
});都在同一个位置,所以正确答案是:
.forEach(file => {
db[model.name] = file
});https://stackoverflow.com/questions/63063381
复制相似问题