javascript - 如何更改 spago 的 Node 堆栈限制?

标签 javascript node.js stack-overflow purescript spago

我正在使用 PureScript 开发一个项目,该项目通过 spago test 功能运行大量大量的堆栈扩展测试。在大多数情况下,递归太深以至于我达到了极限并且测试失败并显示 RangeError: Maximum call stack size exceeded

通常我只会运行带有 --stack-size=$ALOT 标志的 node,但在这里我不能直接访问 JavaScript 求值器(我有没有?)。在不同的情况下,我会使用 NODE_OPTIONS env 变量,但这里是不可能的,如错误消息中所述:

node: --stack-size= is not allowed in NODE_OPTIONS

有没有办法访问 spago 中的 node 标志或以任何其他方式绕过这个问题?另外,我的情况无法通过 TCO 解决。

最佳答案

spago test 命令包含两个步骤:

  1. spago build 生成js文件到./output
  2. 用node运行编译好的测试代码

第二步可以手动完成:

node --stack-size=40000 -e "require('./output/Test.Main/index').main()"

关于javascript - 如何更改 spago 的 Node 堆栈限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65698897/

相关文章:

javascript - 如何修复在 React 中单击按钮后每次调用两次调度函数?

javascript - 如何用 try catch 捕获回调错误?

javascript - Npm 在不同位置 Node js 上安装全局模块

node.js - 如何从nodejs获取显示数量/分辨率?

c++ - 为什么在 C++ 中为执行线程从未遇到过的局部变量声明分配堆栈空间?

c - 如何修复堆栈溢出错误?

javascript - 通过 JavaScript 将值从父窗体传递到 .NET 控件。 Gridview 从 window.opener 选择参数

javascript - 更改浏览器滚动条的可滚动高度

javascript - __non_webpack_require__ 未定义

f# - 将大量函数组合在一起时堆栈溢出