Webpack学习笔记(8)

多页面应用

entry

entry可以配置为字符串、数组、对象(可以分开打包)

上图,app2.js和app.js会打包到一个文件main.js中;lodash会被打包到lodash.js。

如果app2.js和app.js使用了lodash,为之增加依赖,lodash单独打包,app3也依赖lodash并单独打包:

使用htmlwebpackplugin可以实现模板的自定义:

index.html为模板,在index.html中可以获取,inject为生成scripts等引入标签放在<body>位置,chunks为打包的文件:

不同页面不同打包:

指定打包文件位置:

Tree shaking

用于描述移除未引用的代码(死代码),内部方法如果没有使用则不打包,第三方库引入就会打包

sideEffects

true:所有代码都有副作用,不要随意删除(默认)

false:可以删除;

数组:存放有副作用的:下图即css文件有副作用。

渐进式网络应用程序PWA

非离线环境下运行

重新启动服务时,在dist生成新代码:

添加workbox

npm i workbox-webpack-plugin -D:

clientsClaim快速启用service-worker

skipWaiting跳出等待,不允许留下任何旧的service-worker

注册service worker

实现离线浏览页面的功能(浏览器将页面缓存了)

判断一下是否注册成功

相关推荐
wdfk_prog43 分钟前
[Linux]学习笔记系列 -- [arm][debug]
linux·运维·arm开发·笔记·学习
wdfk_prog2 小时前
实战教程:从“对象文件为空“到仓库重生——修复 Git 仓库损坏全记录
大数据·网络·笔记·git·学习·elasticsearch·全文检索
小杨爱搞嵌入式2 小时前
【STM32】GPIO的输入输出
c语言·笔记·stm32·单片机·学习
皮蛋sol周2 小时前
嵌入式学习硬件(一)ARM体系架构
arm开发·学习·架构
yuanmenglxb20043 小时前
解锁webpack核心技能(二):配置文件和devtool配置指南
前端·webpack·前端工程化
古月方源aaaaa3 小时前
ospf笔记
笔记·智能路由器
无名工程师4 小时前
浅谈RNN被Transformer 取代的必然性
rnn·学习·transformer
秋风战士6 小时前
通信算法之307:fpga之时序图绘制
笔记·fpga开发
Virgil1396 小时前
【YOLO学习笔记】YOLOv8详解解读
笔记·学习·yolo
学习网安的doro6 小时前
3a服务器的基本功能1之身份认证
服务器·网络·学习·安全·身份认证·ac