解决“必须使用导入来加载ES模块”错误,而使用sequelize orm和node.js中的eS6语法”。
#node #es6 #sequelize

最近,我尝试使用sequelize orm和es6语法设置一个node.js项目。在创建迁移时,我遇到了一个错误,说“必须使用导入来加载ES模块:/[user_path]/project_name/src/migrations/[migration_name] requion()不支持ES模块的oigrase()。”

错误建议的三个解决方案:

  • 将迁移文件重命名为.cjs
  • 使用import()函数而不是require()
  • 从根目录的软件包中删除“ type”:“模块”

但是,我不愿意使用这些解决方案中的任何一种,因为它们需要对我的代码库进行大量更改。相反,我转向网络以获取更多信息并找到了一个简单的解决方案。

修复程序涉及在迁移文件夹中使用以下代码中创建一个新的package.json文件:

{
  "type": "commonjs"
}

此更改使我的代码成功运行。如果您还有其他解决此问题的建议,请告诉我。