javascript - 无法通过sequelize 使用 es6 导入和导出

标签 javascript node.js ecmascript-6 sequelize.js babeljs

我正在使用 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 与sequ​​elize 一起使用,但遇到了其他问题,因此我们选择使用 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/

相关文章:

javascript - 在ajax中的div中追加返回值

javascript - 如果找不到元素,appium nodejs (wd) 将挂起

javascript - 使用 *客户端* 上的 React 验证电子邮件帐户是否处于事件状态

javascript - 以编程方式导致 onBlur 在 react 中触发

javascript - 获取周边坐标

javascript - Jquery 多选框插件

javascript - StencilJS 导出自定义类

node.js - 如何让 Node.js 应用程序在关闭套接字后继续监听?

javascript - 将日期作为字符串传递给后端和服务器

javascript - Google Maps API v3 - 不同缩放级别的不同标记/标签