- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
webpack自定义Plugin
王红元coderwhy
目录
content
1tapable的使用介绍
2tapable的同步操作
3tapable的异步操作
4自定义Plugin的流程
5自定义Plugin的练习
coderwhyWebpack和Tapable
◼我们知道webpack有两个非常重要的类:Compiler和Compilation
他们通过注入插件的方式,来监听webpack的所有生命周期;
插件的注入离不开各种各样的Hook,而他们的Hook是如何得到的呢?
其实是创建了Tapable库中的各种Hook的实例;
◼所以,如果我们想要学习自定义插件,最好先了解一个库:Tapable
Tapable是官方编写和维护的一个库;
Tapable是管理着需要的Hook,这些Hook可以被应用到我们的插件中;
coderwhyTapable有哪些Hook呢?
coderwhyTapable的Hook分类
◼同步和异步的:
以sync开头的,是同步的Hook;
以async开头的,两个事件处理回调,不会等待上一次处理回调结束后再执行下一次回调;
◼其他的类别
bail:当有返回值时,就不会执行后续的事件触发了;
Loop:当返回值为true,就会反复执行该事件,当返回值为undefined或者不返回内容,就退出事件;
Waterfall:当返回值不为undefined时,会将这次返回的结果作为下次事件的第一个参数;
Parallel:并行,会同时执行次事件处理回调结束,才执行下一次事件处理回调;
Series:串行,会等待上一是异步的Hook;
coderwhyHook的使用过程
◼第一步:创建Hook对象
◼第二步:注册Hook中的事件
◼第三步:触发事件
coderwhy自定义Plugin
◼在之前的学习中,我们已经使用了非常多的Plugin:
CleanWebpackPlugin
HTMLWebpackPlugin
MiniCSSExtractPlugin
CompressionPlugin
等等。。。
◼这些Plugin是如何被注册到webpack的生命周期中的呢?
第一:在webpack函数的createCompiler方法中,注册了所有的插件;
第二:在注册插件时,会调用插件函数或者插件对象的apply方法;
第三:插件方法会接收compiler对象,我们可以通过compiler对象来注册Hook的事件;
第四:某些插件也会传入一个compilation的对象,我们也可以监听compilation的Hook事件;
coderwhy开发自己的插件
◼如何开发自己的插件呢?
目前大部分插件都可以在社区中找到,但是推荐尽量使用在维护,并且经过社区验证的;
这里我们开发一个自己的插件:将静态文件自动上传服务器中;
◼自定义插件的过程:
创建AutoUploadWebpackPlugin类;
编写apply方法:
✓通过ssh连接服务器;
✓删除服务器原来的文件夹;
✓上传文件夹中的内容;
在webpack的plugins中,使用AutoUploadWebpackPlugin类;
您可能关注的文档
- mycat数据库中间件.pptx
- NB技术实践开发-IoT课程介绍.pptx
- NextVault 操作手册培训 .doc
- NHD 脱硫-甲醇合成法年产 4.5 万吨甲硫醇项目设计-典型设备设计说明书 (2).pdf
- Node服务器高级开发_MySQL数据库.pdf
- Node服务器高级开发_Node服务器-express框架.pdf
- Node服务器高级开发_Node服务器-koa框架.pdf
- Node服务器高级开发_Node项目实战-coderhub.pdf
- Node服务器高级开发课程_MySQL数据库.pdf
- Node服务器高级开发课程_Node服务器-express框架.pdf
- 2026届高考生物一轮复习:人教版必修2《遗传与进化》知识点考点背诵提纲.pdf
- 2025年人教版七年级英语下册期末复习之阅读理解30篇(Units1-8单元话题)【答案+解析】.pdf
- 2025年人教版七年级英语下册期中专项复习:任务型阅读【必刷15篇】(解析版).pdf
- 平面向量的数量积及应用-高三数学一轮复习五层训练(新高考地区).pdf
- 第二单元 中古时期的世界 单元测试(含解析)-2024-2025学年高一历史下学期统编版必修中外历史纲要下.pdf
- 外研版英语九年级上册单元巩固练习资料.pdf
- 完形填空-2025人教版七年级英语下册期末复习(含答案解析).pdf
- 2025年全国人民防空安全基本知识考试题与答案.pdf
- 第二单元 中古时期的世界 单元测试(含解析)-2024-2025学年高一年级下册统编版必修中外历史纲要下.pdf
- 2025年人教版八年级数学下册《一次函数》专项测试试题(含答案解析).pdf
文档评论(0)