运行 开玩笑时 babelrc 中的未知插件

Unknown plugin in babelrc when running jest

我有一个项目可以使用 Parcel 构建并使用 Babel 进行转译。

当我尝试 运行 开玩笑时,我得到

Test suite failed to run
ReferenceError: Unknown plugin "syntax-dynamic-import" specified in "/app/.babelrc" at 0, attempted to resolve relative to "/app"

插件在运行通过Parcel正常连接时成功找到,并在我的package.json的依赖项中列出并安装。

我的 babelrc:

{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ],
  "plugins": [
    "@babel/syntax-dynamic-import",
  ],
    "env": {
    "test": {
      "plugins": ["dynamic-import-node"]
    }
  }
}

在package.json中:

  "dependencies": {
    "@material-ui/core": "^3.6.0",
    "@material-ui/icons": "^3.0.1",
    "express": "^4.16.4",
    "react": "^16.6.3",
    "react-dom": "^16.6.3",
    "jest": "^23.6.0",
    "babel-jest": "^23.6.0",
    "babel-plugin-dynamic-import-node": "^2.2.0"
  },
  "devDependencies": {
    "@babel/core": "^7.1.6",
    "@babel/plugin-syntax-dynamic-import": "^7.0.0",
    "@babel/preset-env": "^7.0.0",
    "@babel/preset-react": "^7.0.0",
    "eslint-plugin-jsx-a11y": "^6.1.2",
    "eslint-plugin-react": "^7.11.1",
    "http-proxy-middleware": "^0.19.0",
    "less": "^2.0.0",
    "parcel-bundler": "^1.10.3",
    "parcel-plugin-eslint": "^1.0.4"
  },

可以找到完整的项目代码on Glitch。重新混合项目以获得您自己的版本,您可以编辑并尝试 运行 脚本。

我得到了the following response when I posted this as a bug in the Jest GitHub repo

在 .babelrc 中,我的插件应该这样定义:

@babel/plugin-syntax-dynamic-import

并且因为我使用的是 Jest 23,所以我需要安装 babel-core@bridge 才能使用 babel@7 或者我可以升级到 Jest 24。