gpt4 book ai didi

node.js - Snap.svg 可以仅在服务器端与 Node.js 一起使用吗? (不是通过浏览器)

转载 作者:搜寻专家 更新时间:2023-10-31 22:24:09 26 4
gpt4 key购买 nike

我需要仅使用一些服务器端代码(例如 cron 作业)来创建和操作一些 SVG,但我想知道在这种情况下是否可以使用 Snap.svg,因为它不包含在网页中。

如果没有在浏览器中运行 Snap.svg,这是否可行?

最佳答案

您可以使用 jsdom模拟浏览器环境并在 Node.js 中本地运行 Snap.svg。

例子:

const jsdom = require('jsdom');
const xmlserializer = require('xmlserializer');

jsdom.env('', [require.resolve('snapsvg')], (error, window) => {
if (error) throw error;

const paper = window.Snap(100, 100);

const rect = paper.rect(20, 20, 60, 60);
rect.attr({fill: 'red'});

const svg = xmlserializer.serializeToString(paper.node);
window.close();

console.log(svg);
});

打印:

<svg height="100" version="1.1" width="100" xmlns="http://www.w3.org/2000/svg"><desc>Created with Snap</desc><defs/><rect x="20" y="20" width="60" height="60" style="" fill="#ff0000"/></svg>

关于node.js - Snap.svg 可以仅在服务器端与 Node.js 一起使用吗? (不是通过浏览器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21532286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com