如何使用svgdom和node.js获取SVG.JS 3.0。+

时间:2019-01-09 08:18:17

标签: node.js svg.js

SVG.js 3.0.5已发布,我想更新自己的nodejs应用程序,该应用程序使用2.7至3.0.5的库来生成svg。

要使用node.js运行该库,您需要使用svgdom(https://github.com/svgdotjs/svgdom

这里的问题是构造函数发生了变化,我不知道如何在node.js中使用它。

// array_diff_key returns an array off different items compared to second parameter
if ($card === array_diff_key($totalCard,$card)) {
  // $card does not exist
  // toDo: add to $totalCard
} else {
   if($product === $totalCard[$productId]) {
     // raise quantity
   } else {
     // add as new child
   }
}

2 个答案:

答案 0 :(得分:0)

我遍历了源代码,看起来应该可以使用

const window = require("svgdom");
const SVG = require("@svgdotjs/svg.js");

SVG.registerWindow(window, window.document);

答案 1 :(得分:0)

我更新了自述文件,以便更好地反映新用法:

  

npm install @ svgdotjs / svg.js svgdom

// returns a window with a document and an svg root node
const window = require('../svgdom')
const document = window.document
const {SVG, registerWindow} = require('@svgdotjs/svg.js')

// register window and document
registerWindow(window , window.document)

// create canvas
const canvas = SVG(document.documentElement)

// use svg.js as normal
canvas.rect(100,100).fill('yellow').move(50,50)

// get your svg as string
console.log(canvas.svg())
// or
console.log(canvas.node.outerHTML)

请注意,svg.js v3不再导出此大对象。相反,您必须要求所需的功能。自述文件中的更多信息:https://github.com/svgdotjs/svgdom