【webpack5修行之道】第2篇:webpack处理图片资源和其他资源

2024-01-12 15:10

本文主要是介绍【webpack5修行之道】第2篇:webpack处理图片资源和其他资源,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上一篇: webpack5修行之道1- webpack基本概念、处理css+less

这篇我们介绍webpack怎么打包图片资源和其他资源:

在介绍之前,我们先指出一点问题:

我们的output输出始终都为built.js,浏览器会对静态资源进行缓存,下次打包的时候如果还为built.js在浏览器这边就需要强制刷新,每次打包都需要强制刷新,这个显然是不对的,用户可不知道什么时候去强制刷新浏览器

为了解决这个问题,我们需要修改output.filename的配置

const { resolve } = require('path')module.exports = {//入口文件entry: './src/index.js',//打包后的文件配置output: {//指定输出的目录,一般采用绝对路径path: resolve(__dirname,'build'),filename: '[hash:10].built.js'},module: {//loader配置rules: [{//匹配以.css结尾的文件test: /\.css$/,//单个loader使用loader属性//loader: 'css-loader'//多个loader处理一个文件,需要使用use//use属性的执行顺序为逆序,也就是数组尾->数组首的顺序use: ['style-loader','css-loader']},{//匹配以.less结尾的文件test: /\.less$/,use: ['style-loader','css-loader','less-loader']}]},//插件配置plugins:[],//环境配置mode: 'development'
}

这里的hash是值webpack打包的hash值,每次webpack打包都会生成一个hash,[hash:10]的意思就是取hash值的前10位

运行编译命令: npm run build ,编译成功后查看build文件夹

发现已经多了一个js文件,这个时候修改index.html的入口引入文件

这样我们就能把新打包的js文件引入了,但我们每次打包都需要修改script标签来引入新的入口文件,这未免也太麻烦了吧

是的,所以我们这里需要html-webpack-plugin插件来解决这个问题

先下载html-webpack-plugin: npm install -D html-webpack-plugin,下载完毕后修改webpack.config.js将这个插件引入

const { resolve } = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')module.exports = {//入口文件entry: './src/index.js',//打包后的文件配置output: {//指定输出的目录,一般采用绝对路径path: resolve(__dirname,'build'),filename: '[hash:10].built.js'},module: {//loader配置rules: [{//匹配以.css结尾的文件test: /\.css$/,//单个loader使用loader属性//loader: 'css-loader'//多个loader处理一个文件,需要使用use//use属性的执行顺序为逆序,也就是数组尾->数组首的顺序use: ['style-loader','css-loader']},{//匹配以.less结尾的文件test: /\.less$/,use: ['style-loader','css-loader','less-loader']}]},//插件配置plugins:[new HtmlWebpackPlugin({template: './index.html'})],//环境配置mode: 'development'
}

html-webpack-plugin会自动帮我们引入入口文件,所以我们需要删除原来的script

删除后index.html如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta na

这篇关于【webpack5修行之道】第2篇:webpack处理图片资源和其他资源的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/598266

相关文章

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Golang 日志处理和正则处理的操作方法

《Golang日志处理和正则处理的操作方法》:本文主要介绍Golang日志处理和正则处理的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录1、logx日志处理1.1、logx简介1.2、日志初始化与配置1.3、常用方法1.4、配合defer

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

c/c++的opencv实现图片膨胀

《c/c++的opencv实现图片膨胀》图像膨胀是形态学操作,通过结构元素扩张亮区填充孔洞、连接断开部分、加粗物体,OpenCV的cv::dilate函数实现该操作,本文就来介绍一下opencv图片... 目录什么是图像膨胀?结构元素 (KerChina编程nel)OpenCV 中的 cv::dilate() 函

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、