我这里安装的是全局的webpack 在执行的时候 只需在写好的项目文件下 执行命令webpack就会压缩完成了
今天说的是压缩 图片和字体等资源
举个例子:在css文件中引入 图片
.box{
width: 200px;
height: 200px;
background: #000066;
transition: 0.5s;
background: url(../img/0.jpg) no-repeat;
}
如果之前之装有 css-loader和style-loader 他到图片处理这里就会报错 因为我们还没有安装处理图片的loader
2.安装所需要的依赖
npm i file-loader url-loader -D
{
test:/\.(jpg|png|fig)$/i,
use:{
loader:"url-loader",
options:{
outputPath:'img/', //相对于 outputPath的路径 输出会到 dest/img中
publicPath:'dest/img', //对外输出路径 就是在html文件 中的图片引入路径
limit:8*1024
}
}
}
其中file-loader和url-loader都是可以用来处理图片资源的
区别是 url-loader 在options中 有一个 limit 限制 如果超过 8*1024b 也就是 8kb的图片资源就会选择使用file-loader加载
如果小于的话 还是使用 url-loader 不过并不会生成图片资源了 只是以base64加密的方式将图片解析成一个字符串放在浏览器上 依次来减少对服务器的请求次数
3.最后在以bootstrap为例子 来说一下 对字体的加载
首先我们安装 bootstrap npm i bootstrap@3 -D
在main.js中引入 bootstrap
import "bootstrap/dist/css/bootstrap.min.css"
在index.html中使用
<div class="panel panel-danger">
<div class="panel-heading">
<h2>标题</h2>
</div>
</div>
在webpack.config.js中配置
{
test:/\.(eot|svg|ttf|woff|woff2)$/i,
use:{
loader:'url-loader',
options:{
outputPath:'fonts/',
publicPath:'dest/fonts',
limit:4*1024
}
}
}
最后执行webpack 运行命令
就可以在页面上看到 运用bootstrap的页面效果了