webpack4系列笔记之(2)loader及打包图片资源

本文介绍了webpack的loader概念,由于webpack默认仅处理js和JSON,loader如file-loader和url-loader用于处理其他类型的文件,如图片。file-loader用于将图片转换并输出到指定目录,而url-loader在file-loader基础上增加了条件判断,当图片大小小于8KB时转为base64字符串内联,以减少HTTP请求。配置示例展示了如何在webpack.config.js中设置这两个loader。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、webpack的loader是什么?

webpack默认只能识别js和JSON文件,但是实际工作中会有很多类型的文件,比如:jpg、png、gif、css等,这时就需求loader来帮助webpack去识别翻译这些文件。

备注:本文node版本10.13.0 ,webpack版本4.26.0 webpack-cli版本3.1.2

二、file-loader打包图片资源

1、安装file-loader

npm i file-loader -D

2、配置 webpack.config.js

const path = require('path');
module.exports = {
	//  入口文件
	entry: './src/index.js',
	output: {
		// 输出文件名
		filename: 'built.js',
		// 输出文件路径
		path: path.resolve(__dirname,'dist')
	},
	// 配置loader模块
	module: {
		rules: [
			{
				// 找到项目中的图片资源
				test: /\.(jpg|png|gif)$/,
				use: {
					// 使用file-loader编译图片资源
					loader: 'file-loader'	,
					// loader的配置项
					options: {
					 	//  placeholder  占位符
						name: '[name].[ext]',
						// 输出到的文件夹
						outputPath:'images/'
					}
				}
			}	
		]	
	},
	// 打包模式有两种:development和production;默认是production模式,会自定压缩代码
	mode: 'development'
}

三、url-loader打包图片资源

1、安装url-loader

npm i url-loader -D

2、配置 webpack.config.js

const path = require('path');
module.exports = {
	//  入口文件
	entry: './src/index.js',
	output: {
		// 输出文件名
		filename: 'built.js',
		// 输出文件路径
		path: path.resolve(__dirname,'dist')
	},
	// 配置loader模块
	module: {
		rules: [
			{
				// 找到项目中的图片资源
				test: /\.(jpg|png|gif)$/,
				use: {
					// 使用url-loader编译图片资源
					loader: 'url-loader',
					// loader的配置项
					options:{
						//  placeholder  占位符
						name:'[name].[ext]',
						// 输出到的文件夹
						outputPath:'images/'
						// 小于8kb的图片,会转化成base64,减少http请求,
						// 大于8kb的图片,会通过file-loader编辑
						limit: 8 * 1024
					}
					
				}
			}	
		]	
	},
	// 打包模式有两种:development和production;默认是production模式,会自定压缩代码
	mode: 'development'
}

webpack系列笔记会持续更新,敬请关注

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值