SyntaxError - node_modules/react-native/Libraries/polyfills/error-guard.js:缺少分号。 (14:4) 在 react nati

Posted

技术标签:

【中文标题】SyntaxError - node_modules/react-native/Libraries/polyfills/error-guard.js:缺少分号。 (14:4) 在 react native 库中运行 jest【英文标题】:SyntaxError - node_modules/react-native/Libraries/polyfills/error-guard.js: Missing semicolon. (14:4) on running jest in react native library 【发布时间】:2022-01-01 21:44:54 【问题描述】:

我正在尝试为 react 本机库设置 jest,但出现以下错误

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

app.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,但无济于事。有人可以帮我吗?

【问题讨论】:

不确定这是否有帮助,但这看起来像一个 TypeScript 文件,但带有 .js 扩展名。 【参考方案1】:

在我将 .babelrc 文件更改为 babel.config.js 后,它对我有用。

【讨论】:

以上是关于SyntaxError - node_modules/react-native/Libraries/polyfills/error-guard.js:缺少分号。 (14:4) 在 react nati的主要内容,如果未能解决你的问题,请参考以下文章

开玩笑设置“SyntaxError:意外的令牌导出”

为什么我会在一段时间后继续得到这个Node SyntaxError?

PM2 - SyntaxError:严格模式之外尚不支持块范围声明

React: Uncaught SyntaxError: Unexpected token < in JSON at position 0

SyntaxError:Gulpfile.js 中的意外标记

Jest 给出错误:“SyntaxError: Unexpected token export”