Javascript Jest和Create react应用程序:无法在模块外部使用导入语句

Javascript Jest和Create react应用程序:无法在模块外部使用导入语句,javascript,reactjs,react-native,jestjs,babeljs,Javascript,Reactjs,React Native,Jestjs,Babeljs,我有一个React本机应用程序,其中有一些文件和一些调用某些端点的方法。当我尝试运行Jest时,会在导入的本地文件中抛出一个错误。 我有下一个包。json: { "name": "appName", "version": "1.0.0", "description": "some description", "main": "in

我有一个React本机应用程序,其中有一些文件和一些调用某些端点的方法。当我尝试运行
Jest
时,会在导入的本地文件中抛出一个错误。

我有下一个
包。json

{
  "name": "appName",
  "version": "1.0.0",
  "description": "some description",
  "main": "index.js",
  "scripts": {
    "test": "jest"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {},
  "devDependencies": {
    "@babel/core": "^7.14.2",
    "@react-native-community/async-storage": "^1.12.1",
    "@react-native-community/netinfo": "^6.0.0",
    "isomorphic-fetch": "^3.0.0",
    "jest": "^26.6.3",
    "jest-fetch-mock": "^3.0.3"
  },
  "jest": {
    "automock": false,
    "setupFiles": [
      "./jest.setup.js"
    ]
  }
}
jest.setup.js
文件如下所示:

import mockRNCNetInfo from '@react-native-community/netinfo/jest/netinfo-mock.js'

jest.mock('@react-native-community/netinfo', () => mockRNCNetInfo)
目前,此内容已被注释,否则将抛出与图片中相同的错误

我尝试在另一个项目中测试相同的东西,其中
@react native community/netinfo
包没有保存在
devdependences
中,而是保存在
dependences
中,它起了作用,但我不确定这是否是问题所在。在这个特定的项目中,我不能让这个
包作为
依赖项
,它应该在
devdependences


我在这件事上发现了很多问题,但没有一个能解决这个问题,我不知道该怎么办了。谢谢你抽出时间

我在互联网上找到了这个答案,它通过一些小的附加组件对我起到了作用,但我将在这里发布它,也许将来会对某人有所帮助:

  • 安装
    babel-jest
    babel-preset-env
    @babel/runtime
    react
    (只有在其他软件包需要时才可能需要最后一个)
  • 根目录中创建
    .babelrc
    文件并添加:
  • 运行你的代码,应该很好
  •   {
         "env": {
          "test": {
            "plugins": ["transform-es2015-modules-commonjs"]
          }
        }
      }