我在一个jest测试中遇到一个错误:
import { jsx } from "theme-ui"
^
SyntaxError: Unexpected token {这是一个babel问题,导致此错误出现的插件的名称是gatsby-wpgraphql-inline-images。这个插件工作得很棒,但是它的文件并没有被babel转换,它们需要和jest一起工作。
在我的jest配置文件中,gatsby文档推荐使用这种模式,这样测试就不会因为各种错误而失败:
transformIgnorePatterns: ["node_modules/(?!(gatsby))"],这意味着gatsby的代码都被转换了,这个模式忽略了所有包含单词gatsby的文件夹,悬停这也意味着这个插件文件也会被忽略。正因为如此,插件目录中的文件没有被转换,它们需要被转换。所以我正在寻找一些关于如何使用regex的帮助,忽略所有包含单词"gatsby“的文件夹,除了名为gatsby-wpgraphql-inline-images的文件夹。
谢谢!
发布于 2020-01-09 21:34:28
**更新**让它工作了!!我从Gatsby源代码文档中认识到,所有的Gatsby源文件也都是未翻译的es6代码。我试着添加下面这行代码,看看它是否能同时捕获名为gatsby-wpgraphql-inline-images的"gatsby"文件夹和插件文件夹,并且成功了!出于某些原因,即使插件中有单词Gatsby,jest也没有将其添加到要转换的代码中。
transformIgnorePatterns: [
"node_modules/(?!(gatsby-wpgraphql-inline-images))"
], 现在,在我的jest测试期间,所有的东西都被转换了。希望这对任何人都有帮助。干杯!
https://stackoverflow.com/questions/59655181
复制相似问题