在highcharts节点导出服务器中指定一个worker脚本(用作节点模块)

问题描述 投票:0回答:0

我正在尝试使用 highcharts 节点导出服务器 作为模块,但是使用

worker
函数/脚本来自定义图表的格式和布局(希望以奇怪、精彩和动态的方式)。

这是我尝试过的一个简单示例,它用作快速服务器中的路由(因此

req, res, next
),以返回生成的 png 图表:

const highchartsExample = function (req, res, next) {

    const exportSettings = {
        type: 'png',
        worker: function (chart) {
            // Add a title to the chart
            chart.setTitle({
                text: 'Boring Chart Title'
            }, true);
        },
        options: {
            xAxis: {
                categories: ["Jan", "Feb", "Mar", "Apr", "Mar", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
            },
            series: [
                {
                    type: 'spline',
                    data: [1, 3, 2, 4]
                },
                {
                    type: 'spline',
                    data: [5, 3, 4, 2]
                }
            ]
        }
    };

    exporter.logLevel(4);

    // Set up a pool of PhantomJS workers
    exporter.initPool();
    
    exporter.export(exportSettings, function (err, result) {
        if (err) logger.error('err', err);
        logger.debug('result', result);

        const img = Buffer.from(result.data, 'base64');
        res.header('Content-Type', 'image/png');
        res.header('Content-Length', img.length);

        res.status(200).send(img);
    });
};

但是尽管传递了一个

worker
函数,在这个设置图表标题的简单示例中,它实际上并没有做任何事情......指定
worker
脚本的正确方法是什么?

javascript node.js highcharts
© www.soinside.com 2019 - 2024. All rights reserved.