Cha*_*had 7 svg node.js snap.svg
我需要使用一些服务器端代码(比如使用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);
});
Run Code Online (Sandbox Code Playgroud)
打印:
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1307 次 |
| 最近记录: |