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

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

判断一下是否注册成功

相关推荐
风送雨17 分钟前
FastAPI 学习教程 · 第4部分
学习·fastapi
要做朋鱼燕18 分钟前
【AES加密专题】3.工具函数的编写(1)
笔记·密码学·嵌入式·aes
binbinaishijie8828 分钟前
ANSYS Workbench完全入门教程|0基础学习路线图
学习·其他
嵌入式知行合一1 小时前
时间管理方法论
笔记
儒雅的晴天1 小时前
git笔记
笔记·git
半夏知半秋1 小时前
kcp学习-通用的kcp lua绑定
服务器·开发语言·笔记·后端·学习
曾浩轩2 小时前
图灵完备Turing Complete 2
学习·图灵完备
中屹指纹浏览器2 小时前
指纹浏览器底层沙箱隔离技术实现原理与架构优化
经验分享·笔记
A小码哥3 小时前
跟着AI学习谷歌最新的通用商业协议(UCP)实操步骤
人工智能·学习
科技林总3 小时前
【系统分析师】4.2 网络体系结构
学习