首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GraphQl、Sequelize-CLi、models bundler - sequelize.import不是函数

GraphQl、Sequelize-CLi、models bundler - sequelize.import不是函数
EN

Stack Overflow用户
提问于 2020-07-24 05:28:10
回答 1查看 33关注 0票数 0

我正在学习有关sequelize-cli的教程:https://andela.com/insights/using-graphql-and-sequelize/

我得到了一个错误:“sequelize.import不是一个函数”

它来自models/index.js (它应该捆绑所有模型)

代码语言:javascript
复制
'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;

我在网上搜索解决方案,但无论我看到什么,它都不起作用。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-07-24 08:29:47

OK解决了!

我还没有意识到

代码语言:javascript
复制
  .forEach(file => {
    const model = sequelize['import'](path.join(__dirname, file));
    db[model.name] = model;
  });

都在同一个位置,所以正确答案是:

代码语言:javascript
复制
  .forEach(file => {
    db[model.name] = file
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63063381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档