您可以使用--stack-size
V8选装件(另请参见here).
要查看默认大小,可以选中--v8-options
:
$ node --v8-options | grep -B0 -A1 stack-size
--stack-size (default size of stack region v8 is allowed to use (in kBytes))
type: int default: 984
(除了调用和解析node --v8-options
之外,我不知道如何通过编程读取默认值或当前值.)
然后可以使用该选项指定新的堆栈大小:
$ node --stack-size=512 index.js
您也可以使用v8.setFlagsFromString
从程序本身设置:
const v8 = require('v8');
v8.setFlagsFromString('--stack-size=512');
请注意,在node中使用的V8的较新版本中,可用的V8选项将来可能会更改.js.(例如,我认为这个选项以前被称为stack_size
,带有下划线,但现在是stack-size
,带有破折号.)如果选项不再存在,您可以使用v8flags
package包或以编程方式调用node --v8-options
来引发错误,以便调整测试.