本地部署Highcharts node-export-server生成图表遇JSON语法错误
Highcharts Node-Export-Server 图表生成失败问题
问题背景
- 部署步骤:克隆仓库后执行
npm install,同意许可协议,指定Highcharts版本为11.0.0,通过命令node ./bin/cli.js --enableServer 1启动服务 - 系统环境:Node v18.17.1、npm v9.6.7、node-export-server v2.1.0、Highcharts v11.0.0、Ubuntu 20.04.6
复现请求
执行以下curl命令调用服务:
curl -H "Content-Type: application/json" -X POST -d '{"infile":{"title": {"text": "Steep Chart"}, "xAxis": {"categories": ["Jan", "Feb", "Mar"]}, "series": [{"data": [29.9, 71.5, 106.4]}]}}' 127.0.0.1:7801 -o mychart.png
错误返回
[error] work
9e5b7d24514a4b7785927e1e23956e55 could not be completed, sending: an error occured when rendering the chart: SyntaxError: Unexpected token { in JSON at position 24432
排查与解决建议
- 版本兼容性检查:node-export-server v2.1.0对Highcharts 11.0.0的适配存在已知问题,尝试降级Highcharts到10.x LTS版本(如10.3.3),重新执行
npm install后重启服务 - 清理依赖重装:删除
node_modules和package-lock.json,执行rm -rf node_modules package-lock.json && npm install,修复可能损坏的依赖文件 - 检查服务端JSON配置:错误提示的24432位置指向服务端加载的Highcharts内部JSON,而非请求的JSON。可以手动检查
node_modules/highcharts目录下的配置文件是否存在语法错误,或使用jsonlint工具批量验证 - 降级Node版本:Node 18的部分语法特性可能与node-export-server v2.1.0不兼容,切换到Node 16.x LTS版本后重新部署测试
内容的提问来源于stack exchange,提问作者Suneel Kumar Cheethirala
相关产品推荐
相关产品推荐

