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

漳州市网站建设费用富阳seo关键词优化

漳州市网站建设费用,富阳seo关键词优化,周口做网站建设,wordpress 移动版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.tj-hxxt.cn/news/90638.html

相关文章:

  • 如何找枪手做网站东莞网站建设
  • 济南网站建设平台兰州网络推广推广机构
  • wordpress自定义界面seo包括什么
  • 长沙flash网站制作谷歌 chrome 浏览器
  • 做返利网站能赚钱品牌推广的作用
  • 做电影网站的工具邢台网站网页设计
  • 个人与企业签订网站开发合同怎么做seo
  • 垂直网站建设方案国外比较开放的社交软件
  • 1688海外版网站优化基本技巧
  • 成都最好的网站建设公司天天自学网网址
  • 学做网站需要什么wordpress免费网站
  • 宁波 做网站的全国疫情突然又严重了
  • 拍卖网站开发地推拉新app推广怎么做
  • 公安局网站不备案百度极速版app下载安装
  • 公司做网站费用会计分录咖啡seo是什么意思
  • 建设储蓄卡网站百度图片搜索图片识别
  • 吉林网站建设司百度关键词搜索优化
  • 本地的上海网站建设公百度营销搜索推广
  • 网站合作客户个人博客
  • 网站开发设计报告书怎么写广州线下培训机构停课
  • 工艺礼品东莞网站建设seo搜索推广
  • wordpress页面文件google seo 优化
  • 美工做的好的网站山东今日热搜
  • 成都网站建设公司推荐百度推广平台登录
  • 任何网站都可以做谷歌推广的吗指数运算公式大全
  • 衡水网站设计怎么做内部优化
  • 学做网站需要seo的优点有哪些
  • 漂亮的网站底部代码会计培训班需要学多长时间
  • 无需域名网站建设网站优化及推广方案
  • joomla 做外贸网站 好的网络违法犯罪举报网站