错误语法错误:带有玩笑和react-native的意外标记

问题描述 投票:0回答:1

我在使用react-native配置jest时遇到问题,当我安装第三个库时,我遇到了jest语法错误。 我安装了react-native-radio-buttons-group,但出现此错误:

    Details:

    D:\Documents\aviturn\design-system\node_modules\react-native-radio-buttons-group\lib\index.ts:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){export * from './types';
                                                                                      ^^^^^^

    SyntaxError: Unexpected token 'export'

还需要注意的是,我在react-native-bouncy-checkbox库中也遇到了类似的问题。

这是我的笑话配置:

module.exports = {
  preset: 'react-native',
  setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
  moduleDirectories: ['node_modules', 'src'],
};

这是我的宝贝配置:

module.exports = {
  presets: ["module:@react-native/babel-preset"],
  plugins: [
    "transform-inline-environment-variables",
    ["babel-plugin-react-docgen-typescript", { exclude: "node_modules" }],
    [
       'module-resolver',
       {
         root: ['./src'],
         extensions: ['.ios.js', '.android.js', '.js', '.ts', '.tsx', '.json'],
         alias: {
           "@components": "./src/components",
           "@styles": "./src/styles",
           "@core": "./src/core"
         }
       }
    ]
  ]
};

提前谢谢您,我搜索了很长时间但无法解决问题。

react-native jestjs
1个回答
0
投票

我最终找到了解决方案,我必须将库添加到transformIgnorePatterns。默认情况下,node_modules 中的所有模块都不会被转换,所以解决方案是告诉 jest 对其进行转换。

  transformIgnorePatterns: [
'node_modules/(?!((jest-)?react-native|@react-native(-community)?)|react-native-radio-buttons-group/)',

],

所以现在node_modules中的每个模块都没有被转换,除了react-native,@react-native,@react-native-community和我的库

© www.soinside.com 2019 - 2024. All rights reserved.