在以前的文章中咱们已经完成了webpack对于脚本、css、html的处理。php
经过阅读本文,你能够解决如下几个问题:css
其实处理字体和图片,使用一个url-loader就能够了。html
先安装一下loaderwebpack
npm install url-loader –-save-dev
显示安装成功,这里不用像以前去找包,所以不用理会WARN,那是告诉你npm 3不会安装所依赖的包。web
在配置文件中使用url-loader,在module中的css-loader后面添加url-loader:npm
module: { loaders: [ { test: /\.css$/, loader: ExtractTextPlugin.extract("style-loader", "css-loader") }, { test: /\.(gif|png|jpg)\??.*$/, loader: 'url-loader' }
修改src -> page ->index ->index.css随便引入一张图片。app
body{
background: url('../../image/test-image.jpg');
}
以后执行webpack咱们看到执行结果svg
图片引入进来了,可是显示的是base64格式的,接下来咱们使其显示图片名字,经过配置url-loader的参数能够实现这个功能。把以前的url-loader的配置进行修改字体
{
test: /\.(gif|png|jpg)\??.*$/,
loader: 'url-loader?limit=100&name=resource/[name].[ext]'
}url
参数说明:
limit:显示文件的大小,小于这个值就会被打包成刚才看到的base64的格式,而大于这个值的话就会以文件的形式进行打包,
&name=resource:而且把它放在resouce
[name].[ext]:文件的名字+扩展名,这样打包的话扩展名不会发生改变。
前面已经提到了webpack对字体和图片都是使用咱们刚才的url-loader来处理,
其实处理字体只要再加上几个字体的格式就能够了。加上woff|svg|eot|ttf便可:
{ test: /\.(gif|png|jpg|woff|svg|eot|ttf)\??.*$/, loader: ‘url - loader ? limit = 100 & name = resource / [name]. [ext]’ }