testing - 使用 babel 转译 javascript 代码的问题

标签 testing jestjs babeljs

由于 babel 没有正确转译代码,所有测试都失败了。

下面是来自控制台的错误。

Jest encountered an unexpected token
  This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.
  By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".
  Here's what you can do:
   • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
   • If you need a custom transformation specify a "transform" option in your config.
   • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
  You'll find more details and examples of these config options in the docs:
  https://jestjs.io/docs/en/configuration.html
  Details:
    13 |
    14 | 
  > 15 | import type { CreateUserInput, CreateSlackTeamInput } from "graphql-types";

下面是我的 Babel 配置。

{
  "presets": [
    "es2015"
  ]
}

最佳答案

我能够在本地重现您的问题并通过将 babel-preset-flow 添加到 devDependencies 并将预设添加到 .babelrc 来解决它。它失败的原因是 import type 语法未包含在 es2015 babel 预设中。

更新后的 .babelrc 文件将如下所示:

{ “预设”:[ “es2015”,“流” ] }

关于testing - 使用 babel 转译 javascript 代码的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51683010/

相关文章:

visual-studio-2008 - 如何使用 Visual Studio 2008 Team Suite 进行 Web 测试

testing - 可以发送 PUT/DELETE 方法的负载测试工具

reactjs - 如何使用 async 函数和 setState 测试 useEffect

javascript - VS Code断点跳转到其他行

java - Selenium + JUnit 是否是目前业界测试web应用的最佳实践?

testing - 如何为我的顶点类创建一个顶点测试类

reactjs - 当我使用 react 测试库、react.lazy 和 suspense Jest 运行相同的测试两次时,为什么加载程序没有在第二次测试中显示?

javascript - Mocha + Babel + React 模块

javascript - Babel 6 - 为函数启用默认参数

oracle - 在生产中使用 Babel - 如何预编译脚本