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

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

判断一下是否注册成功

相关推荐
我爱学习_zwj几秒前
什么是 AJAX ?
笔记
1101 11016 分钟前
STM32-笔记35-DMA(直接存储器访问)
笔记·stm32·嵌入式硬件
职业考试资料墙6 分钟前
特种作业操作证考试题库及答案(登高架设作业)
学习·考试·题库
无所谓จุ๊บ11 分钟前
VTK知识学习(29)-交互问题
学习·vtk
智识世界Intelligence16 分钟前
美国宏观经济基础框架梳理
经验分享·笔记·深度学习·信息可视化·学习方法
世事如云有卷舒20 分钟前
RISC-V学习笔记
笔记·学习·risc-v
Q_192849990620 分钟前
基于Spring Boot的智能笔记的开发与应用
spring boot·笔记·后端
盐盐8876901 小时前
【信息系统项目管理师】【综合知识】【备考知识点】【思维导图】第十一章 项目成本管理
数据库·经验分享·笔记·运维开发·学习方法
从善若水1 小时前
【Rust 学习笔记】Rust 基础数据类型介绍——指针、元组和布尔类型
笔记·学习·rust
TripleEyeAlien2 小时前
Swift Combine 学习(三):Subscription和 Subscriber
学习·ios·swift