![](/img/trans.png)
[英]Error in node_modules/react-native/Libraries/Modal/Modal.js while testing with Jest
[英]SyntaxError - node_modules/react-native/Libraries/polyfills/error-guard.js: Missing semicolon. (14:4) on running jest in react native library
我正在尝试为反应本机库设置玩笑,但出现以下错误
SyntaxError: react-native/Libraries/polyfills/error-guard.js: Missing semicolon. (14:4)
12 | let _inGuard = 0;
13 |
> 14 | type ErrorHandler = (error: mixed, isFatal: boolean) => void;
| ^
15 | type Fn<Args, Return> = (...Args) => Return;
react-native 版本:0.61.5
应用程序.js
import { Dimensions } from 'react-native';
function sum(a, b) {
return a + b;
}
module.exports = sum;
app.test.js
const sum = require('./app');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
jest.config.js
module.exports ={
preset : 'react-native',
transformIgnorePatterns: [
'/node_modules/(?!(@react-native|react-native)/).*/'
]
}
.babelrc
{
"presets": ["react-native"]
}
我尝试了各种建议的解决方案,例如添加 transformIgnorePatterns 但无济于事。 有人可以帮我吗?
在我将.babelrc
文件更改为babel.config.js
后,它对我有用。
在我将.babelrc
文件更改为babel.config.js
后,它也对我有用
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
};
package.json
"react": "17.0.2",
"react-native": "0.67.4",
[...]
"@babel/core": "7.18.0",
经过长时间的努力,我终于可以解决这个问题:
正如丹尼尔在上面的答案中所说,我们需要将.babelrc文件更改为babel.config.js。 除此之外,我们还必须遵循以下步骤:
presets: ['module:metro-react-native-babel-preset']
。"@testing-library/jest-native": "^4.0.5"
和"babel-plugin-transform-class-properties": "^6.24.1"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.