2017-06-23 42 views
0

这里我的问题很简单,如何使用Node.js中的酒窝生成SVG

我需要在Node.js中使用酒窝生成SVG。

我安装了这个节点模块npm install dimple-js,但没有适当的文件?

我已经试过这下面的代码:

var jsdom = require("node-jsdom"); 
globals = {}; 
global.window = jsdom.jsdom().parentWindow; 
global.document = jsdom.jsdom('<!doctype html></html>'); 

var d3 = require('dimple-js/lib/d3.v3.4.8.js'); 
var dimple = require('dimple-js/dist/dimple.v2.1.6.js'); 

module.exports = function(router){ 

    router.get('/', function(req, res){ 
     var svg = dimple.newSvg('body', 800, 600); 
     var data = [ 
      { "Word":"Hello", "Awesomeness":2000 }, 
      { "Word":"World", "Awesomeness":3000 } 
     ]; 
     var myChart = new dimple.chart(svg, data); 
     myChart.addCategoryAxis("x", "Word"); 
     myChart.addMeasureAxis("y", "Awesomeness"); 
     myChart.addSeries(null, dimple.plot.bar); 
     myChart.draw(); 
     res.json({success: true, svg: svg}); 
    }); 
} 

但我得到以下错误enter image description here

所以是可以在服务器端使用酒窝产生SVG?

回答

0

dimple(或实际上,d3)找不到DOM。使用此图案,如在this底部:

var svg = d3.select(global.document.body) 
    .append("svg") 
     .attr("width", 800) 
     .attr("height", 600);