我已经安装了最新版本的svgjs和panzoom插件:
$ grep svg package.json
"@svgdotjs/svg.js": "^3.0.13",
"@svgdotjs/svg.panzoom.js": "^2.0.3",
这是它的导入方式:
import * as SVG from '@svgdotjs/svg.js'
import '@svgdotjs/svg.panzoom.js'
SVG
是Object { SVG: Getter, Morphable: Getter, registerMorphableType: Getter, makeMorphable: Getter, TransformBag: Getter, ObjectBag: Getter, NonMorphable: Getter, defaults: Getter, utils: Getter, namespaces: Getter, … }
SVG.SVG
是function makeInstance()
有一个“ my.svg”文件已添加到dom中,并且可以选择。
大多数代码都可以正常工作:
const svg = SVG.SVG('#svgId') // Object { events: {}, node: svg#svgId.my-svg, type: "svg", dom: {} }
svg.viewbox(0, 0, 2000, 1000)
svg.on('click', function(ev) {
console.log('svg click', ev)
})
svg.panZoom() // works fine
// select() doesn't work
// https://svgjs.com/docs/3.0/referencing/#using-css-selectors
svg.select('#some-path-id')
结果为TypeError: svg.select is not a function
(与SVG.select()或SVG.SVG.select()相同)
我在做错什么吗?文档是否过时?