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

第三信条

我正在尝试在Node中使用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);
    }
});

但是,由于jsdom目前不支持classList,因此您需要使用应用于classList填充程序window.self

完整代码:https//gist.github.com/musically-ut/9154438

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

人们可以阅读服务器端的node.js吗?

仅显示用户在 Reactjs 中使用服务器端发布的帖子是 Node Js、Mongodb

在服务器端使用Node JS解析HTML

使用node.js实现服务器端

使用node.js调试服务器端

在 Javascript 中访问服务器端变量(node.js、express.js、ejs)

Node.js Express服务器端结构

Node.js服务器端调试

服务器端模板的node.js

在Node.js服务器端运行传单

如何使用Node JS设置Babel 6以在服务器端代码中使用ES6?

我可以在webpack中使用node.js服务器模块吗?

使用Java的React.js服务器端渲染[没有Node.js]

Node.JS:从服务器端内存与服务器端文件提供文件

如何使用node.js从服务器端刷新浏览器?

如何在服务器端(Node.js)上以编程方式验证Facebook用户的访问令牌?

使用Node.js在服务器端使用AngularJS

如何在服务器端使用D3js直接生成SVG?

d3js - 使用 javascript 操作创建服务器端 SVG

Node.js的可以替代Java作为服务器端技术的Web应用程序

如何在Node.js的服务器端使用Object.values()

在服务器端使用哪种Node.js模板引擎具有最佳性能?

如何使用Node.js从服务器端的AJAX POST函数接收数据?

如果在服务器端使用Node js,为什么需要异步处理?

使用node.js中的readline模块调试服务器端代码

在Node.js的服务器端使用AWS Cognito是否安全?

使用Vega和Node.js的画布出现问题(仅服务器端)

从服务器端在客户端获取变量(express.js,node.js)

在解析服务器应用程序上使用Node.js编写服务器端代码