方法一
利用imports-loader
来引入snapsvg
1,安装snapsvg
cnpm i snapsvg --save-dev
cnpm i imports-loader@0.8.0 --save-dev
imports-loader
版本要小于1.0.0snapsvg
和imports-loader
最好都装在devDependencies
中- npm中snap.svg说明
"devDependencies": {
"imports-loader": "^0.8.0",
"snapsvg": "^0.5.1"
}
2,引入snapsvg
const Snap = require(`imports-loader?this=>window,fix=>module.exports=0!snapsvg/dist/snap.svg.js`);
3,示例
<template>
<div id="snap-svg">
<svg id="svg"></svg>
</div>
</template>
<script>
const Snap = require(`imports-loader?this=>window,fix=>module.exports=0!snapsvg/dist/snap.svg.js`);
export default{
mounted() {
var s = Snap("#svg");
s.circle(150, 150, 100);
},
}
</script>
<svg id="svg"></svg>
–svg
图像才能被实例化,div
实例化后不识别- 其他用法和官网一致
http://snapsvg.io/
方法二
直接在index.js
中引入snapsvg
1,引入
在vue
项目public
文件下index.html
直接引入
<script src="./snap.svg-min.js" type="text/javascript" charset="utf-8"></script>
2,使用
<template>
<div id="snap-svg">
<svg id="svg"></svg>
</div>
</template>
<script>
export default{
mounted() {
var s = Snap("#svg");
s.circle(150, 150, 100);
},
}
</script>
- 因为在根文件
index.html
引入,Snap
成为全局变量,可以直接使用
其他方法
https://segmentfault.com/a/1190000037703482
– 未验证
案例
snap.svg
绘制标尺和网格背景
https://blog.youkuaiyun.com/wayhb/article/details/116924228