Javascript 使用Node.js中的Rickshaw/D3,对于服务器端,是否可以访问原始svg?

Javascript 使用Node.js中的Rickshaw/D3,对于服务器端,是否可以访问原始svg?,javascript,node.js,d3.js,rickshaw,Javascript,Node.js,D3.js,Rickshaw,我试着在节点中使用D3和人力车。该服务必须创建一个时间序列图,然后使用运行imagemagick的子进程将原始SVG转换为png。我真的只需要一个原始svg字符串来进行转换人力车是否有办法访问原始SVG字符串?人力车在内部使用d3,您可以像在真实DOM中一样获取SVG字符串: var Rickshaw = require('rickshaw'), jsdom = require('jsdom'); jsdom.env({ features: { QuerySelector: t

我试着在节点中使用D3和人力车。该服务必须创建一个时间序列图,然后使用运行imagemagick的子进程将原始SVG转换为png。我真的只需要一个原始svg字符串来进行转换人力车是否有办法访问原始SVG字符串?

人力车在内部使用
d3
,您可以像在真实DOM中一样获取SVG字符串:

var Rickshaw = require('rickshaw'),
    jsdom = require('jsdom');

jsdom.env({
    features: { QuerySelector: true },
    html: '<html><body><div id="graph"></div></body></html>',
    done: function (err, window) {
        this.window = window;
        this.document = window.document;
        // classListShim(window.self); // <-- see comment below

        var graph = new Rickshaw.Graph({
            series: [ { data: [ { x: 0, y: 2 }, { x: 1, y: 4 }] } ],
            renderer: 'area',
            element: window.document.querySelector('#graph')
        });

        graph.render();
        // This will output the `svg` element in HTML format.
        console.log(window.document.querySelector('#graph').innerHTML);
    }
});
var Rickshaw=require('Rickshaw'),
jsdom=require('jsdom');
jsdom.env({
功能:{QuerySelector:true},
html:“”,
完成:功能(错误,窗口){
this.window=窗口;
this.document=window.document;
//classListShim(window.self)//