首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jest遇到使用react + konva和/或react-konva的意外标记

Jest遇到使用react + konva和/或react-konva的意外标记
EN

Stack Overflow用户
提问于 2021-06-10 18:18:31
回答 2查看 342关注 0票数 3

安装并导入Konva和react-konva后,我的jest@enzyme测试无法运行,并显示以下错误:

测试套件运行失败

代码语言:javascript
复制
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".

详细信息:

代码语言:javascript
复制
C:\avius\fortest\node_modules\konva\lib\Core.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){export { Konva } from './_CoreInternals.js';
                                                                                         ^^^^^^

SyntaxError: Unexpected token 'export'

  at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1350:14)
  at Object.<anonymous> (node_modules/react-konva/lib/ReactKonvaCore.js:19:13)

这是一个新创建的用于测试此错误的create-react-app,因此没有什么特别之处。我没有babel.rc,也没有babel.config.js或jest.config.js文件。(因为我尝试了很多设置,都不起作用。)

我可以导入和使用其他es6模块,如nanoid,lodash等,所以konva似乎需要一些特殊的东西?卸载konva,一切运行正常。

EN

回答 2

Stack Overflow用户

发布于 2021-11-17 09:44:05

为了让它正常工作,我执行了以下操作:

我创建了一个包含以下内容的.babelrc:

代码语言:javascript
复制
{
    "presets": [
        "@babel/preset-react"
    ],
    "plugins": [
        "@babel/plugin-transform-modules-commonjs"
    ]
}

这样可以确保文件的格式正确。您还必须安装这些包。

然后,我将以下内容放入我的package.json文件中:

代码语言:javascript
复制
"jest": {
    "testEnvironment":"jsdom",
    "moduleNameMapper": {
    "^konva": "konva/konva"
    }
}

另外,我重新安装了我所有的react-konva文件(尽管这不应该有什么不同)。

额外:如果您遇到没有定义某些变量的问题,请确保您已经安装了konvacanvas

票数 0
EN

Stack Overflow用户

发布于 2021-09-30 14:27:02

这发生在我从react 16升级到17的时候。这个建议对我很有效,https://www.gitmemory.com/issue/konvajs/konva/1168/921810056

代码语言:javascript
复制
package.json

"jest": {
    "moduleNameMapper": {
      "^konva": "konva/konva"
    }
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67919198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档