SyntaxError:使用 Jest + react-native-animated-ellipsis 导入意外的令牌
Posted
技术标签:
【中文标题】SyntaxError:使用 Jest + react-native-animated-ellipsis 导入意外的令牌【英文标题】:SyntaxError: Unexpected token import with Jest + react-native-animated-ellipsis 【发布时间】:2018-09-16 09:10:13 【问题描述】:我的快照测试因 react-native 失败。我遵循了一些解决方案,但没有任何效果。 我面临的错误是:
/Users/USER_NAME/Projects/project_name/node_modules/react-native-animated-ellipsis/dist/AnimatedEllipsis.js:1 (function (exports, require, module, __filename, __dirname) import React, Component from 'react'; ^^^^^^ SyntaxError:意外的令牌导入
at node_modules/babel-core/lib/transformation/file/options/option-manager.js:178:20
在我的package.json
:
"jest":
"preset": "react-native",
"transform":
"^.+\\.js?$": "babel-jest"
,
"testPathIgnorePatterns": [
"/node_modules/",
"Tests/Setup.js"
],
"testMatch": [
"**/**/__tests__/**/*.js?(x)",
"**/?(*.)(spec|test).js?(x)"
],
"transformIgnorePatterns": [
"node_modules/(?!(react-native|rent-react-native|react-native-navigation|react-native-vector-icons|react-native-maps|react-native-animated-ellipsis)/)"
]
,
和.babelrc
"presets": ["react-native"],
"env":
"test":
"presets": ["env", "react-native"],
"plugins": ["react-native-animated-ellipsis"],
"only": [
"./**/*.js",
"node_modules/react-native-animated-ellipsis"
]
【问题讨论】:
我们也遇到了这个问题。通过transformIgnorePatterns
排除其他软件包似乎有效,但react-native-animated-ellipsis
无效
解决了这个问题,只需从 repo 复制组件并将其直接放入我们的项目中。回购似乎很陈旧,我没有费心要求他们修复他们的 dist
文件夹以兼容 es5。
【参考方案1】:
我不确定您为什么要对项目的一个依赖项应用 babel 转换,但遵循错误消息,即使您想在 react-native-animated-ellipsis 上应用 babel 转换,您可能应该在 src 上执行并排除 dist 文件夹。
【讨论】:
以上是关于SyntaxError:使用 Jest + react-native-animated-ellipsis 导入意外的令牌的主要内容,如果未能解决你的问题,请参考以下文章
使用 jest 和 vue 抛出 SyntaxError: Unexpected identifier error for import
Jest SyntaxError: Unexpected token <
Jest 给出错误:“SyntaxError: Unexpected token export”
Jest + Vue - SyntaxError: Unexpected token <
Vue Jest 测试套件无法运行:SyntaxError: Unexpected identifier
jest + typescript + es6 模块(又一次,2019 年)- SyntaxError: Unexpected token export