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

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

判断一下是否注册成功

相关推荐
淮北4943 分钟前
大模型学习(二、使用lora进行微调)
java·服务器·学习
andwhataboutit?7 分钟前
RAG之语义块切分semantic chunking
学习
chillxiaohan10 分钟前
GO学习记录——动态创建测试http接口
学习·http·golang
今儿敲了吗12 分钟前
计算机网络第四章笔记(四)
笔记·计算机网络
了一梨12 分钟前
SQLite3学习笔记2:SQL 基础语法
笔记·学习·sqlite
子夜江寒17 分钟前
OpenCV 学习:文档扫描与视频运动检测与跟踪
opencv·学习·计算机视觉·音视频
爱喝可乐的老王27 分钟前
神经网络的学习
人工智能·神经网络·学习
Cathy Bryant31 分钟前
softmax函数与logits
笔记·神经网络·机器学习·概率论·信息与通信
阿蒙Amon41 分钟前
TypeScript学习-第2章:基础类型
javascript·学习·typescript
charlie1145141911 小时前
现代嵌入式 C++——自定义删除器(Custom Deleter)
开发语言·c++·笔记·学习·嵌入式