首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sequelize v6 - TypeError: sequelize.import不是函数

Sequelize v6 - TypeError: sequelize.import不是函数
EN

Stack Overflow用户
提问于 2021-06-04 02:44:04
回答 1查看 69关注 0票数 0

我在我的package.json中使用带有"type": "module"的ES模块。我已经升级到了Sequelize的最新版本(6.6.2)。

我对这行代码有一个问题:

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

它位于我的models文件夹中的index.js中。我发现Sequelize删除了v6 (https://sequelize.org/master/manual/upgrade-to-v6.html)中的“导入”功能。我在Stack Overflow上找到了这个答案:https://stackoverflow.com/a/63275525/571723

我试着从那个答案切换到const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes)。但我得到了一个错误的声明require is not defined。这就是我现在被卡住的地方。似乎强制你使用'require',Sequelize倒退了一步,因为我认为使用'import‘的ES模块是Node当前和未来的最佳实践。

EN

回答 1

Stack Overflow用户

发布于 2021-06-04 03:30:49

是的,你是对的。在导入之后,至少删除了“upgrading Sequelize from v5 to v6”方法。所以试着这样做:

代码语言:javascript
复制
const path = require('path');
const Sequelize = require('sequelize');
const sequelize = new Sequelize('db_name', 'db_user', 'db_pass', {});

const modelPath = path.join(__dirname, './path/to/model/file');
const model = require(modelPath).default(sequelize, Sequelize);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67827111

复制
相关文章

相似问题

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