Karma 未捕获 RangeError:超出最大调用堆栈大小
2017-12-04
6823
当我尝试运行
grunt karma:debug
时,Karma 出现此错误:
11 11 2017 00:00:00.000:INFO [Chrome 62.0.3202 (Linux 0.0.0)]: Connected on socket /#AAAA-AAAAAAAAAAAAAAA with id 99999999
Chrome 61.0.0000 (Linux 0.0.0) ERROR
Uncaught RangeError: Maximum call stack size exceeded
at http://localhost:9876/context.html
Chrome 61.0.0000 (Linux 0.0.0) ERROR
Uncaught RangeError: Maximum call stack size exceeded
at http://localhost:9876/context.html
Chrome 61.0.0000 (Linux 0.0.0): Executed 0 of 0 ERROR (1.035 secs / 0 secs)
这是什么原因?提交一些大型 JSON 文件后,该错误在一夜之间开始出现。如果我返回没有 JSON 文件的提交,该命令将再次开始工作。
2个回答
我在
karma.conf.js
文件中发现了问题:
config.set({
...
files: [
...
{ pattern: "path/to/fixtures/**/*.json" },
...
]
该行使 Karma 在 HTML 页面中包含 JSON 文件,似乎无法处理我添加的 JSON 文件数量。解决方案是告诉 Karma 不要在 HTML 中包含这些文件,而是将它们作为 WebServer 提供:
config.set({
...
files: [
...
{ pattern: "path/to/fixtures/**/*.json", included: false },
...
]
相关文档位于 此处 :
included
Type. Boolean
Default. true
Description. Should the files be included in the browser using
<script> tag? Use false if you want to load them manually,
eg. using Require.js.
DWilches
2017-12-04
确保只分配了一次组件变量,最好只在顶部 beforeEach 中分配。
component = fixture.componentInstance - 不应在每个描述中都给出该变量。
Tino Jose Thannippara
2020-09-08