当前位置: 首页 > 面试题库 >

Jest Test Babel错误:不允许插件/预设文件导出对象

邵诚
2023-03-14
问题内容

我正在使用最新的 (2017年12月) 依赖项堆栈。当我尝试使用Jest进行同构反应测试时,测试服始终失败并显示以下错误:

* Test suite failed to run
[BABEL] /__tests__/router.test.js: Plugin/Preset files are not allowed to
export objects, only functions.

这是我的依赖项:

"dependencies": {
    "axios": "^0.17.1",
    "babel-polyfill": "^6.26.0",
    "cors": "^2.8.4",
    "express": "^4.16.2",
    "react": "^16.1.1",
    "react-dom": "^16.1.1",
    "react-router-dom": "^4.2.2"
  },
  "devDependencies": {
    "@babel/core": "^7.0.0-beta.35",
    "babel-cli": "^6.26.0",
    "babel-core": "^7.0.0-bridge.0",
    "babel-eslint": "^8.0.2",
    "babel-jest": "^22.0.1",
    "babel-loader": "^7.1.2",
    "babel-preset-env": "^1.6.1",
    "babel-preset-react": "^6.24.1",
    "enzyme": "^3.2.0",
    "enzyme-adapter-react-16": "^1.1.0",
    "enzyme-to-json": "^3.2.2",
    "eslint": "^4.11.0",
    "eslint-plugin-react": "^7.5.1",
    "html-webpack-plugin": "^2.30.1",
    "jest": "^21.2.1",
    "nodemon": "^1.11.0",
    "parallelshell": "^3.0.2",
    "react-test-renderer": "^16.2.0",
    "regenerator-runtime": "^0.11.1",
    "supertest": "^3.0.0",
    "webpack": "^3.8.1",
    "webpack-dev-server": "^2.9.4"
  },
  "peerDependencies": {
    "babel-core": "^7.0.0-0"
  }

.babelrc:

{
  "presets": [
    "env",
    "react",
  ]
}

关于Jest为什么不运行,是否有人有任何见解?


问题答案:

通天桥旨在涵盖6到7之间的所有问题

那不是桥包所做的100%。它所做的只是允许使用的工具babel- core传递给@babel/core。整个程序包就是这一行代码。

如果您使用@babel/core,则需要使用可在Babel 7上使用的插件。这意味着babel-preset- react应该更改为,@babel/preset-react并且与相同,@babel/preset-env并且您.babelrc应该是:

{
  "presets": [
    "@babel/env",
    "@babel/react",
  ]
}

同样,babel-polyfill应该是@babel/polyfill

由于Babel 7仍是不稳定的Beta,因此尚未对此进行充分记录。



 类似资料:
  • 问题内容: 我有一个要在其中构建的轮播文件,所以我是: 在我使用低于: …但是我收到此错误消息: 有谁知道如何解决这个问题? 问题答案: 您使用的是Babel 6和Babel 7的组合。不能保证各个版本之间的兼容性: 应该 和 将是 我也很困惑,因为您没有在中提及,但是假设它在其中也应该进行更新。

  • 我在Ubuntu 18.04和php7.3上使用phpmyadmin,当我尝试导入或导出文件时,会显示以下错误: ./libraries/plugin_interface.lib.php#551 count()中的警告:参数必须是数组或实现可计数的对象,所以我转到这个文件(plugin_interface.lib.php)并尝试将$options强制转换为数组,但仍然不起作用

  • 欢迎任何变通办法。以下是IntelliJ YouTrack问题文件。 导出和导入IntelliJ设置。 升级到IntelliJ2020.3(Community Edition)后,导出设置时出错。 null null

  • 如果我试图写入脚本的目录或任何其他目录,则错误是相同的。权限似乎是对的。所有东西都是755,根所有者。我尝试将“my_custom_dir”所有者更改为www-data(apache用户),但没有任何区别。 它“死”在第一线。日志上的错误是“在/usr/lib/cgi-bin/script.cgi拒绝权限”

  • 问题内容: 我有以下程序: module-info.java Main.java 该程序使用以下选项成功编译: 但是,当我添加参数时,它将失败: 基本上,这两个命令是等效的。那么为什么要禁止后者呢? 另外,由于IDEA将参数传递给javac,因此,如果我的项目需要内部API,则无法在IDEA中进行开发。 我正在使用JDK 9 + 178。 问题答案: 这似乎从这个bug票是不能结合使用,和。 从链

  • 我正在尝试创建一个文件。 但是得到错误操作不允许。 我在清单文件中添加了以下权限 我该如何解决这个问题?