当前位置: 首页 > news >正文

广西南宁网站设计班级网站素材下载

广西南宁网站设计,班级网站素材下载,惠州seo关键词推广,百度云搜索引擎入口 百度网盘webpack 我们直到webpack中有两个非常重要的类Compiler和Compilation 他们通过注入插件的方式 来监听webpack的所有声明周期 插件的注入是通过创建Tapable库中的各种Hook的实例来得到 Tapable Tapable中的Hook分为同步与异步 同步 SyncHook SyncBailHook SyncWaterfallHook…

webpack

我们直到webpack中有两个非常重要的类Compiler和Compilation
他们通过注入插件的方式 来监听webpack的所有声明周期
插件的注入是通过创建Tapable库中的各种Hook的实例来得到

Tapable

Tapable中的Hook分为同步与异步

同步 SyncHook SyncBailHook SyncWaterfallHook SyncLoopHook

异步分为并行与串行
并行 AsyncParalleHook AsyncParalleBailHook
串行 AsyncSeriesHook AsyncSeriesBailHook AsyncSeriesWaterfallHook

bail: 当有返回值时 就不会执行后续的事件
Loop: 当返回值为true 就会反复执行该事件 当返回值为undefined或者不返回内容 就退出事件
Waterfall: 当返回值不为undefined时 会将这次返回的结果作为下次事件的第一个参数
Parallel: 并行 会同时执行此事件处理回调结束 才执行下一次事件处理回调
Series: 串行 会等待上一是异步的Hook

SyncHook基本使用

const { SyncHook } = require("tapable");class MyCompiler {constructor() {this.hooks = {syncHook: new SyncHook(["name", "age"]),};//用hooks监听事件(自定义plugin)this.hooks.syncHook.tap("event1", (name, age) => {console.log("event1事件监听了", name, age);});}
}const compiler = new MyCompiler();
compiler.hooks.syncHook.call("kobe", 24);

SyncBailHook基本使用

const { SyncBailHook } = require("tapable");class MyCompiler {constructor() {this.hooks = {SyncBailHook: new SyncBailHook(["name", "age"]),};//用hooks监听事件(自定义plugin)this.hooks.SyncBailHook.tap("event1", (name, age) => {console.log("event1事件监听了", name, age);return 123});this.hooks.SyncBailHook.tap("event2", (name, age) => {console.log("event2事件监听了", name, age);});}
}const compiler = new MyCompiler();
compiler.hooks.SyncBailHook.call("kobe", 24);

在这里插入图片描述

SyncLoopHook基本使用

const { SyncLoopHook } = require("tapable");class MyCompiler {constructor() {this.hooks = {SyncLoopHook: new SyncLoopHook(["name", "age"]),};//用hooks监听事件(自定义plugin)this.hooks.SyncLoopHook.tap("event1", (name, age) => {console.log("event1事件监听了", name, age);return true;});this.hooks.SyncLoopHook.tap("event2", (name, age) => {console.log("event2事件监听了", name, age);});}
}const compiler = new MyCompiler();
compiler.hooks.SyncLoopHook.call("kobe", 24);

在这里插入图片描述

SyncWaterfallHook 基本使用

const { SyncWaterfallHook } = require("tapable");class MyCompiler {constructor() {this.hooks = {SyncWaterfallHook: new SyncWaterfallHook(["name", "age"]),};//用hooks监听事件(自定义plugin)this.hooks.SyncWaterfallHook.tap("event1", (name, age) => {console.log("event1事件监听了", name, age);return 111;});this.hooks.SyncWaterfallHook.tap("event2", (name, age) => {console.log("event2事件监听了", name, age);});}
}const compiler = new MyCompiler();
compiler.hooks.SyncWaterfallHook.call("kobe", 24);

在这里插入图片描述

AsyncParallelHook 基本使用

const { AsyncParallelHook } = require("tapable");class MyCompiler {constructor() {this.hooks = {parallelHook: new AsyncParallelHook(["name", "age"]),};//用hooks监听事件(自定义plugin)this.hooks.parallelHook.tapAsync("event1", (name, age) => {setTimeout(() => {console.log("event1事件监听执行", name, age);}, 3000);});this.hooks.parallelHook.tapAsync("event2", (name, age) => {setTimeout(() => {console.log("event2事件监听执行", name, age);}, 3000);});}
}const compiler = new MyCompiler();
setTimeout(() => {compiler.hooks.parallelHook.callAsync("kobe", 24);
}, 0);

在这里插入图片描述

AsyncSeriesHook 基本使用

const { AsyncSeriesHook } = require("tapable");class MyCompiler {constructor() {this.hooks = {seriesHook: new AsyncSeriesHook(["name", "age"]),};//用hooks监听事件(自定义plugin)this.hooks.seriesHook.tapAsync("event1", (name, age,callback) => {setTimeout(() => {console.log("event1事件监听执行", name, age);callback()}, 3000);});this.hooks.seriesHook.tapAsync("event2", (name, age,callback) => {setTimeout(() => {console.log("event2事件监听执行", name, age);callback()}, 3000);});}
}const compiler = new MyCompiler();
setTimeout(() => {compiler.hooks.seriesHook.callAsync("kobe", 24,()=>{console.log('所有任务都执行完了')});
}, 0);

在这里插入图片描述

http://www.yayakq.cn/news/695798/

相关文章:

  • 郑州计算机培训机构哪个最好网站值不值得做seo
  • 网站管理的含义有网站做点什么好
  • 各省住房和城乡建设厅网站杭州建设网通知公告栏
  • 网站扁平化结构和树形结构做网站的s标的软件
  • 工信部网站备案文件网站架构的建设
  • 网站建设如何增加二级页面外包做网站公司
  • 单页企业网站模板网站的建设方案
  • 上海网站建设公司页溪网络百度四川建设厅网站
  • 北京互联网公司建网站百度下载安装免费
  • 怎样注册网站建立网页《基层建设》在哪个网站收录的
  • 汽车网站建设规划书企业网络营销活动
  • 珠海市建设局网站做网站和论坛区别
  • 做网批的网站玉林市住房和城乡建设局网站
  • 博瑞微传媒建站快车网站 租用服务器
  • php做网站导购黑龙江建设网ca锁费用
  • 武义县建设局网站首页金寨建设工程质量监督站网站
  • 网站建设(信科网络)免费成品网站模板
  • 乔拓云在线设计网站使用公网ip做网站地址
  • 公司官方网站推广策划做贺卡的网站
  • 响应式网站建设效果大良商城网站建设
  • 网站建设商城建设江苏聚峰建设集团网站
  • 用心做电影的网站网站制作价格行情
  • 企业营销是啥意思快推达seo
  • 微信怎么建设自己网站如何做一个简单的网站
  • 现在做个企业网站一般多少钱抄袭wordpress主题
  • love域名做的网站湖北做网站公司
  • 网站制作入门课程品牌建设助力高质量发展
  • 站长素材音效网站软件定制开发制作
  • 室内设计网站平面案例wordpress 百度翻译插件
  • 做外贸网哪些网站免费360云盘做服务器建设网站