SyntaxError - node_modules/react-native/Libraries/polyfills/error-guard.js:缺少分号。(14:4) 在 React Native 库中运行 jest

Mur*_* Vr 12 javascript unit-testing reactjs jestjs react-native

我正在尝试为 React Native 库设置笑话,但出现以下错误

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;

Run Code Online (Sandbox Code Playgroud)

反应本机版本:0.61.5

应用程序.js

import { Dimensions } from 'react-native';

function sum(a, b) {
    return a + b;
}
module.exports = sum;
Run Code Online (Sandbox Code Playgroud)

应用程序.test.js

const sum = require('./app');

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});
Run Code Online (Sandbox Code Playgroud)

笑话配置.js

module.exports ={
    preset : 'react-native',
    transformIgnorePatterns: [
        '/node_modules/(?!(@react-native|react-native)/).*/'
    ]
}
Run Code Online (Sandbox Code Playgroud)

.babelrc

{
    "presets": ["react-native"]
}
Run Code Online (Sandbox Code Playgroud)

我尝试了各种建议的解决方案,例如添加transformIgnorePatterns,但无济于事。有人可以帮我吗?

小智 9

在我将文件更改.babelrcbabel.config.js.

  • 不明白为什么这有效 (4认同)