首坑
- 在react中使用,需要先
npm install snapsvg
将其引入,其次需要引入npm install imports-loader
,然后在使用时会碰上巨坑Uncaught TypeError: Cannot read property 'on' of undefined
,这时我们就需要在使用时对其进行一定的处理如下:
import Snap from 'imports-loader?this=>window,fix=>module.exports=0!snapsvg/dist/snap.svg.js'
这样引入即可解决。或者通过修改webpack配置如下:
module.exports = {
module: {
...
loaders: [
{
test: require.resolve('snapsvg'),
loader: 'imports-loader?this=>window,fix=>module.exports=0'
}
]
}
};
由于我使用的是dva+roadhog,所以无法修改webpack文件配置,因为找不到loaders(。。。),emmm,所以第一种方法可行,第二种方法未测试(溜了)。