gif.js是一个用js把几张图片转换成gif的插件,但是在vue中会出现一些问题导致不可用。
主要的原因就是 gif.js里使用了Worker,而vue中使用Worker需要独特配置。
下载插件npm install worker-loader -D
在vue.config.js中添加一下内容:
chainWebpack: config => {
config.module
.rule('worker')
.test(/\.worker\.js$/)
.use('worker')
.loader('worker-loader')
.options({
inline: 'fallback'
})
config.output.globalObject('this')
},
parallel: false
由于worker-loader的特殊性我们需要修改gif.js的代码,这里我已经改好了:
gif.js
gif.worker.js
把这两个放入项目里就可以正常使用gif.js的所有功能了,必须放在同一文件夹下。
如果要改变gif.worker.js里面的内容的话需要把文件名改一下,因为目前webpack并不支持热刷新。只有把文件名改了新内容才会出现。
gif.js原始代码,说明文档可以在这里看。