Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Escaped quotes, e.g in formatters, break export

未关闭
#649 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
领域
backend

调研方向

使用两个 JSON 示例复现导出,然后检查 export.js 中第 157 行 setAsConfig 附近的配置评估路径,以及堆栈跟踪中显示的 triggerExport 调用。当包含转义双引号的 labelFormatter 代码能够成功导出且不再出现所报告的语法错误时,修复即完成。

由索引模型根据 Issue 内容生成。

描述

Export server version: v5.0.0
Highcharts version: 10.2.1

The only difference between these examples is in used quotes in labelFormatter. Only the first one works with export server.

{
  "infile": {
    "exporting": {
      "enabled": true
    },
    "xAxis": {
      "type": "datetime"
    },
    "legend": {
      "labelFormatter": "function () { if (typeof this.chart.series[0] !== 'undefined') { return this.chart.series[0].name; } return 'Somethign else';}"
    },
    "series": [
      {
        "name": "Temperature",
        "data": [
          {
            "x": 1743214500000,
            "y": 1
          }
        ]
      }
    ]
  }
}
{
  "infile": {
    "exporting": {
      "enabled": true
    },
    "xAxis": {
      "type": "datetime"
    },
    "legend": {
      "labelFormatter": "function () { if (typeof this.chart.series[0] !== \"undefined\") { return this.chart.series[0].name; } return 'Somethign else';}"
    },
    "series": [
      {
        "name": "Temperature",
        "data": [
          {
            "x": 1743214500000,
            "y": 1
          }
        ]
      }
    ]
  }
}

Export server logs and received response from export server for the second example:

{
  "statusCode": 400,
  "message": "[pool] In pool.postWork: For request with ID 935e61e6ae0f4356a2a2264867c6f423 - Error encountered during export: 8.110875ms."
}
2025-04-05 13:29:27 Sat Apr 05 2025 11:29:27 GMT+0000 [error] - [pool] In pool.postWork: For request with ID 935e61e6ae0f4356a2a2264867c6f423 - Error encountered during export: 8.110875ms. 
2025-04-05 13:29:27  SyntaxError: Invalid or unexpected token
2025-04-05 13:29:27 new Function (<anonymous>)
2025-04-05 13:29:27     at triggerExport (evaluate at setAsConfig (file:///home/pptruser/node_modules/highcharts-export-server/lib/export.js:157:15), <anonymous>:63:6)
2025-04-05 13:29:27     at #evaluate (file:///home/pptruser/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js:383:19)
2025-04-05 13:29:27     at async ExecutionContext.evaluate (file:///home/pptruser/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js:270:16)
2025-04-05 13:29:27     at async IsolatedWorld.evaluate (file:///home/pptruser/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorld.js:96:16)
2025-04-05 13:29:27     at async CdpFrame.evaluate (file:///home/pptruser/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js:335:20)
2025-04-05 13:29:27     at async CdpPage.evaluate (file:///home/pptruser/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js:799:20)
2025-04-05 13:29:27     at async default (file:///home/pptruser/node_modules/highcharts-export-server/lib/export.js:208:9)
2025-04-05 13:29:27     at async postWork (file:///home/pptruser/node_modules/highcharts-export-server/lib/pool.js:328:20)
2025-04-05 13:29:27     at async doExport (file:///home/pptruser/node_modules/highcharts-export-server/lib/chart.js:438:20)
2025-04-05 13:29:27     at async exportHandler (file:///home/pptruser/node_modules/highcharts-export-server/lib/server/routes/export.js:225:5)
主要语言
JavaScript
星标
368
派生
266
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

highcharts/node-export-server 的其他 Issue

查看 highcharts/node-export-server 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。