【发布时间】:2021-08-21 21:51:14
【问题描述】:
我在 package.json 中使用带有 "type": "module" 的 ES 模块。并且我现在已经升级到最新版本的 Sequelize (6.6.2)。
我对这行代码有疑问:
const model = sequelize['import'](path.join(__dirname, file));
那是在我的模型文件夹中的 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 当前和未来的最佳实践。
【问题讨论】:
标签: node.js sequelize.js