webpack4.0核心概念(六)———— 图片和第三方字体的处理
原创
©著作权归作者所有:来自51CTO博客作者wx6409a261df68a的原创作品,请联系作者获取转载授权,否则将追究法律责任
file-loader:处理静态资源模块 【url-loader包含了所有file-loader的功能,并且还有处理base64格式图片的功能】
原理是把打包⼊⼝中识别出的资源模块,移动到输出⽬录,并且返回⼀个地址名称。如下图
所以我们什么时候⽤file-loader呢?
场景:就是当我们需要模块,仅仅是从源代码挪移到打包⽬录,就可以使⽤file-loader来处理,
txt,svg,csv,excel,图⽚资源啦等等
file-loader
安装
npm install file-loader -D
package.json中的配置
module: {
rules: [{
test: /\.(png|jpe?g|gif)$/,
//use使⽤⼀个loader可以⽤对象,字符串,两个loader需要⽤数组
use: {
loader: "file-loader",
// options额外的配置,⽐如资源名称
options: {
// placeholder 占位符 [name]⽼资源模块的名称
// [ext]⽼资源模块的后缀
// https://webpack.js.org/loaders/file-loader#placeholders
name: "[name]_[hash].[ext]",
//打包后的存放位置
outputPath: "images/"
}
}
}]
},
url-loader 大图片不合适转为base64
{
test: /\.(png|jpe?g|gif)$/,
use: {
loader: "url-loader",
options: {
name: "[name].[ext]",
outputPath: "images/",
limit: 2048, //小于2048kb(官网推荐)的图片会转为base64,大图片不合适转为base64
},
},
},
第三方字体的处理
//webpack.config.js
{
test: /\.(eot|ttf|woff|woff2|svg)$/,
use: "file-loader"
}