我正在使用 convictjs 来管理我的 Nodejs 应用程序的配置文件。具有配置架构的文件称为“config.js”,位于“config”文件夹中。
我正在使用 es6 导入和导出语句
import convict from "convict";
import dotenv from "dotenv";
import configDev from "./config.dev";
import configProd from "./config.prod";
import configStage from "./config.stage";
.
.
.
export default config.getProperties();
这些配置文件包含数据库凭据和其他必要的数据库信息,我在 Sequelize 模型的“index.js”中使用这些信息。
注意:在开发过程的早期,我们尝试将 es6 与sequelize 一起使用,但遇到了其他问题,因此我们选择使用 es5 进行模型、迁移和种子。
目前,每当我尝试执行迁移时,seuqlize 都会抛出如下所示的错误
ERROR: Error reading "config\config.js". Error: SyntaxError: Unexpected token
import
Babel 设置正确,我可以编译并运行应用程序,除了数据库迁移之外没有任何问题。非常感谢任何解决此问题的帮助。
最佳答案
据我所知,Node.js 尚不支持此语法,因此您应该使用 require
或在执行之前使用 babel 转译代码。
UPD:似乎可以从 v10.12.0 https://nodejs.org/api/esm.html 开始在 Node.js 中启用 ES6 模块
node --experimental-modules my-app.mjs
关于javascript - 无法通过sequelize 使用 es6 导入和导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52763329/