项目中的静态图片一般有两种使用方式:HTML中的标签,CSS中的background-image属性,尽量使用CSS来加载图片,当然,如果依赖图片本身的纵横比缩放功能,还是使用HTML的方式。框架本文将以一个使用vue-cli3.0脚手架搭建的项目为例。我们选择的转换工具是Imagemin,版本是6.1.0,因为7.0.0以后的版本和windows有兼容性问题,目前还没有修复。npminstallimagemin@6.1.0--save-devnpminstallimagemin-webp--save-devconversionscript我们的转换脚本需要支持三种模式:全量转换、单目录转换、单文件转换。默认质量为75,实际测试后发现75的质量和100的质量基本没有区别,下面是脚本代码的实现:/***脚本位于tools中目录,即./tools/webp.js*项目源码位于src目录,即./src/*代码中部分目录配置可自行调整*/constimageMin=require('imagemin')constimageMinWebp=require('imagemin-webp')constpath=require('path')constfs=require('fs')letquality=75letrootDir=path.join(__dirname,'../src')asyncfunctioninit(dir){console.log('start!')awaitloop(dir)console.log('completed!')}asyncfunctionloop(dir){letres=fs.readdirSync(dir,{withFileTypes:true})awaitimageMin([path.join(dir,'*.{jpg,png}')],dir,{插件:[imageMinWebp({quality:quality})]})console.log(dir)for(leti=0,length=res.length;i
