繁体   English   中英

LiquidJS 给出“RangeError:超出最大调用堆栈大小”渲染大表

[英]LiquidJS gives "RangeError: Maximum call stack size exceeded" rendering large table

我正在构建一个 NodeJS 应用程序,它使用 LiquidJS 呈现静态、可移植的 HTML 报告。 我的一个最新示例有一个大约有 23,000 行的表,而且 LiquidJS 似乎在呈现这些表时遇到了问题——它抛出了一个关于调用堆栈大小的错误。 该代码以前在最多约 4000 行的表上运行良好,但在较大表上对“section.table.rows”的任何迭代似乎都会导致此问题。 任何解决方法?

这是有问题的代码:

{%- for row in section.table.rows %}
  {%- assign sampleName = row[0].value -%}
  {%- assign sampleLink = data.sampleData[sampleName].outputFile %}
    <tr>
  {%- for i in (1..row.length) %}
    {%- assign index = i | minus: 1 -%}
    {%- if row[index].link == true %}
      <td align="center"><a href="{{sampleLink}}?tab={{row[index].link}}">{{row[index].value}}</a></td>
    {%- else %}
      <td align="center">{{row[index].value}}</td>
    {%- endif %}
  {%- endfor %}
</tr>
{%- endfor %}

这是错误消息:

Exited with "Maximum call stack size exceeded"
RangeError: Maximum call stack size exceeded
    at reduce (/Users/bbowman/git/dragen-reports/node_modules/liquidjs/dist/liquid.node.cjs.js:2589:20)
    at toThenable (/Users/bbowman/git/dragen-reports/node_modules/liquidjs/dist/liquid.node.cjs.js:2581:16)
    at reduce (/Users/bbowman/git/dragen-reports/node_modules/liquidjs/dist/liquid.node.cjs.js:2593:16)
    at toThenable (/Users/bbowman/git/dragen-reports/node_modules/liquidjs/dist/liquid.node.cjs.js:2581:16)
    at reduce (/Users/bbowman/git/dragen-reports/node_modules/liquidjs/dist/liquid.node.cjs.js:2593:16)
    at toThenable (/Users/bbowman/git/dragen-reports/node_modules/liquidjs/dist/liquid.node.cjs.js:2581:16)
    at reduce (/Users/bbowman/git/dragen-reports/node_modules/liquidjs/dist/liquid.node.cjs.js:2593:16)
    at Object.then (/Users/bbowman/git/dragen-reports/node_modules/liquidjs/dist/liquid.node.cjs.js:2554:43)
    at reduce (/Users/bbowman/git/dragen-reports/node_modules/liquidjs/dist/liquid.node.cjs.js:2593:40)
    at toThenable (/Users/bbowman/git/dragen-reports/node_modules/liquidjs/dist/liquid.node.cjs.js:2581:16)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM