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

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

判断一下是否注册成功

相关推荐
深海章鱼13 小时前
MD 基础学习2
学习·md
西岸行者13 小时前
学习Hammerstein-Wiener 模型,以及在回声消除场景中的应用
人工智能·学习·算法
Vincent_Zhang23313 小时前
专题:通过时间轴解释区分各种时态
笔记
鲨莎分不晴13 小时前
强化学习第四课 —— 深度强化学习:Policy Gradient 入门
人工智能·学习·机器学习
"YOUDIG"13 小时前
番茄钟网站:科学管理时间,重塑高效工作与学习节奏
学习
炽烈小老头14 小时前
【 每天学习一点算法 2025/12/12】回文链表
学习·算法·链表
爪洼守门员14 小时前
前端性能优化
开发语言·前端·javascript·笔记·性能优化
全栈陈序员14 小时前
【Python】基础语法入门(十五)——标准库精选:提升效率的内置工具箱
开发语言·人工智能·python·学习
阿蒙Amon14 小时前
JavaScript学习笔记:4.循环与迭代
javascript·笔记·学习
爱倒腾的老唐14 小时前
02、打不开某个网站
windows·笔记·电脑