近期做项目从其他人项目里迁移的一个复杂动画出现了问题,Cannot read properties of undefined (reading on),排查问题出自snapsvg插件。
最后发现这个问题出现是因为未做一些配置,分为两步:
1、下载imports-loader插件,执行 npm i imports-loader ,这个插件的坑在于版本,我的snapsvg插件是0.5.1,对应的imports-loader插件版本是0.8.0
2、vue.config.js中增加配置:
config.module
.rule('Snap')
.test(require.resolve('snapsvg/dist/snap.svg.js'))
.use('imports-loader')
.loader('imports-loader?this=>window,fix=>module.exports=0')
config.resolve.alias.set('snapsvg', 'snapsvg/dist/snap.svg.js')
```javascript