db-migrate with @babel/register and ES6 modules - "SyntaxError: Unexpected token export" error

db-migrate with @babel/register and ES6 modules - "SyntaxError: Unexpected token export" error

真的希望有人能帮我解决这个问题,因为它快把我逼疯了。

节点 v12.4.0

package.json:-

{
    "name": "@mypackage/db-migrate",
    "private": true,
    "version": "1.0.0",
    "main": "index.js",
    "license": "ISC",
    "workspaces": {
        "packages": [
            "common/models"
        ]
    },
    "dependencies": {
        "@babel/core": "^7.6.0",
        "@babel/preset-env": "^7.6.0",
        "@babel/register": "^7.6.0",
        "@mypackage/models": "1.0.0",
        "db-migrate-mysql": "^1.1.10",
        "db-migrate-plugin-babel": "^2.0.1",
        "npm-upgrade": "^2.0.2"
    }
}

.babelrc: -

{
    "presets": [
        "@babel/preset-env"
    ]
}

目录结构:-

common->models - 这包含@mypackage/models

的源库

migrations - 包含所有迁移文件

Yarn 可以毫无问题地安装所有依赖项。

所以当我 运行 迁移命令(例如 "db-migrate down -c 1")时,我得到以下信息:-

export { CONSTANT_ONE, CONSTANT_TWO, CONSTANT_THREE };

^^^^^^

SyntaxError: Unexpected token export

当我尝试从 @mypackage/models 文件之一 export/import 时发生这种情况。

var CONSTANT_ONE = "foo_one";
var CONSTANT_TWO = "foo_two";
var CONSTANT_THREE = "foo_three";

export { CONSTANT_ONE, CONSTANT_TWO, CONSTANT_THREE };

这是根目录问题吗?我完全感到困惑和沮丧。非常欢迎任何帮助。

通过将 .babelrc 更改为 babel.config.js 来解决。