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

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

判断一下是否注册成功

相关推荐
m0_5782678611 分钟前
从零开始的python学习(九)P134+P135+P136+P137+P138+P139+P140
开发语言·python·学习
深蓝学院11 分钟前
[ICCV25]TRACE:用3D高斯直接学习物理参数,让AI“推演”未来场景
人工智能·学习·3d
@TsUnAmI~12 分钟前
基于Flask的企业级产品信息管理系统技术实现笔记
笔记·python·flask
Molder62133 分钟前
【计算机408计算机网络】第四章:自底向上五层模型之网络层
网络·笔记·后端·计算机网络·考研
梅见十柒1 小时前
UNIX网络编程笔记:同步
网络·经验分享·笔记·tcp/ip·udp·unix
郝学胜-神的一滴1 小时前
Pomian语言处理器研发笔记(二):使用组合模式定义表示程序结构的语法树
开发语言·c++·笔记·程序人生·决策树·设计模式·组合模式
智者知已应修善业3 小时前
【51单片机三路抢答器定时器1工作1外部中断1】2022-11-24
c语言·经验分享·笔记·嵌入式硬件·51单片机
霜绛3 小时前
Unity:XML笔记(一)——Xml文件格式、读取Xml文件、存储修改Xml文件
xml·笔记·学习·unity·游戏引擎
上等猿3 小时前
RPC个人笔记(包含动态代理)
笔记·rpc
v_for_van3 小时前
TFT屏幕:STM32硬件SPI+DMA+队列自动传输
笔记·stm32·单片机·嵌入式硬件·mcu·物联网·学习