【问题标题】:Jest not recognizing .jsx files when running on Expo开玩笑在 Expo 上运行时无法识别 .jsx 文件
【发布时间】:2021-12-24 10:18:29
【问题描述】:

在我的 Expo 程序中,我无法在 .jsx 文件上运行它的测试套件。

我的 babel.config.js:

module.exports = function (api) {
  api.cache(true);
  return {
    presets: ['babel-preset-expo'],
  };
};

我的 package.json:

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject",
    "test": "jest --watchAll --no-cache"
  },
  "jest": {
    "preset": "jest-expo",
    "transformIgnorePatterns": [
      "node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|react-native-svg)"
    ],
    "collectCoverage": true,
    "collectCoverageFrom": [
      "**/*.{js,jsx}",
      "!**/coverage/**",
      "!**/node_modules/**",
      "!**/babel.config.js",
      "!**/jest.setup.js"
    ]
  },
  "dependencies": {
    "@babel/preset-env": "^7.16.0",
    "@mantine/hooks": "^3.1.7",
    "axios": "^0.24.0",
    "expo": "~43.0.0",
    "expo-status-bar": "~1.1.0",
    "react": "17.0.1",
    "react-dom": "17.0.1",
    "react-native": "0.64.2",
    "react-native-material-textfield": "^0.16.1",
    "react-native-web": "0.17.1",
    "styled-components": "^5.3.3"
  },
  "devDependencies": {
    "@babel/core": "^7.16.0",
    "@testing-library/react": "^12.1.2",
    "babel-jest": "^27.3.1",
    "babel-preset-react-native": "^4.0.1",
    "jest": "^27.3.1",
    "jest-expo": "^43.0.1",
    "prettier": "2.4.1",
    "react-test-renderer": "^17.0.2"
  },
  "private": true
}

我也尝试将@babel/preset-react 添加到presets,但错误消息更改为以下内容:

    [BABEL]: Cannot find module '@babel/core'

我没有 webpack.config.js 或 jest.config.js。

如果有人对如何解决此问题有任何想法,我将不胜感激。

谢谢!

编辑:我已将“@babel/preset-react”添加到我的 babel.config.js 文件中,现在我从开玩笑中得到一个错误,说“将 @babel/preset-react”添加到“您的 Babel 配置的预设部分以启用转换。我更新的 babel.config.js:

module.exports = function (api) {
  api.cache(true);
  return {
    presets: ['babel-preset-expo', '@babel/preset-react'],
    plugins: ['@babel/plugin-syntax-jsx']
  };
};

【问题讨论】:

    标签: javascript reactjs react-native jestjs expo


    【解决方案1】:

    所以我重新安装了所有依赖项,它似乎正在工作....不确定问题是什么,但似乎我删除或破坏了一个依赖项文件。

    【讨论】:

      猜你喜欢
      • 2019-09-21
      • 1970-01-01
      • 2021-09-29
      • 2019-01-07
      • 2018-05-01
      • 1970-01-01
      • 2015-01-23
      • 2020-02-13
      • 2021-08-04
      相关资源
      最近更新 更多