js:jest报错RangeError: Maximum call stack size exceeded

简介: js:jest报错RangeError: Maximum call stack size exceeded

image.png

问题

jest运行测试用例,使用到了typeof关键字,报错如下

RangeError: Maximum call stack size exceeded
at _typeof

问题所在

排查发现,原来是babel的问题

解决

替换依赖后就可以

1、修改 package.json 依赖

修改前

{
  "type": "module",
  "scripts": {
    "test": "jest --verbose"
  },
  "devDependencies": {
    "jest": "^29.3.1",
    "babel-jest": "^29.3.1",
    "babel-core": "^6.26.3",
    "babel-preset-env": "^1.7.0",
    "regenerator-runtime": "^0.13.11"
  }
}

修改后

{
  "type": "module",
  "scripts": {
    "test": "jest --verbose"
  },
  "devDependencies": {
    "@babel/core": "^7.20.2",
    "@babel/preset-env": "^7.20.2",
    "babel-jest": "^29.3.1",
    "jest": "^29.3.1"
  }
}

2、.babelrc修改如下

修改前

{
  "presets": ["env"]
}

修改后

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": "current"
        }
      }
    ]
  ]
}

参考

babel 编译后导致_typeof无限递归调用 Maximum call stack size exceeded


相关文章
|
7月前
VUE.初始化项目报错缺少core-js
VUE.初始化项目报错缺少core-js
121 0
|
7月前
|
JavaScript 前端开发 大数据
数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。
数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。
|
7月前
webpack.config.js配置文件报错:The ‘mode‘ option has not been set
webpack.config.js配置文件报错:The ‘mode‘ option has not been set
107 0
|
2月前
|
JavaScript 前端开发 开发工具
【Azure Developer】使用JavaScript通过SDK进行monitor-query的client认证报错问题
AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Check with your subscription administrator, this may happen if there are no active subscriptions for the tenant.
|
2月前
|
JavaScript 前端开发
原生js常见报错及其处理方案
原生js常见报错及其处理方案
35 0
|
7月前
报错/ ./node_modules/axios/lib/platform/index.js Module parse failed: Unexpected token (5:2)怎么解决?
报错/ ./node_modules/axios/lib/platform/index.js Module parse failed: Unexpected token (5:2)怎么解决?
|
4月前
|
JavaScript 前端开发 C++
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题
|
4月前
|
JavaScript
Vue——使用JS文件中的函数ESLint报错未定义
Vue——使用JS文件中的函数ESLint报错未定义
51 0
|
5月前
|
JavaScript
js 捕获 await 的报错
js 捕获 await 的报错
31 1
|
5月前
|
移动开发 运维 JavaScript
阿里云云效操作报错合集之遇到Node.js的内存溢出问题,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。