激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語言 - Java教程 - 如何編寫javascript的gulp插件

如何編寫javascript的gulp插件

2020-08-04 12:58猴子 Java教程

本文主要介紹了使用PMD進(jìn)行代碼審查的方法,具有很好的參考價(jià)值,下面跟著小編一起來看下吧

很久以前,我們?cè)?quot;細(xì)說gulp"隨筆中,以壓縮JavaScript為例,詳細(xì)地講解了如何利用gulp來完成前端自動(dòng)化。

再來短暫回顧下,當(dāng)時(shí)除了借助gulp之外,我們還利用了第三方gulp插件”gulp-uglify”,來達(dá)到壓縮JavaScript文件的目的。

代碼如下:

如何編寫javascript的gulp插件

今兒,我們的重點(diǎn)就是,自己也來實(shí)現(xiàn)一個(gè)gulp插件。

正文

其實(shí),如果只是單純地想要編寫一個(gè)gulp插件不難,可以借助through2或者through-gulp來編寫(through-gulp是基于through2開發(fā)的)。

例如,我們想要接下來即將編寫的插件(暫取名為modify),實(shí)現(xiàn)這樣的功能:將指定html文件中的{{…}},全部替換成'Monkey 2 Dorie'。

如下:

如何編寫javascript的gulp插件

下面我們將利用through2以及through-gulp一一道來。

**through2**

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
'use strict'
var through2 = require('through2');
module.exports = modify;
function modify(){
 return through2.obj(function(file, encoding, cb){
 //如果文件為空,不做任何操作,轉(zhuǎn)入下一個(gè)操作,即下一個(gè)pipe
 if(file.isNull()){
 console.log('isNull');
 this.push(file);
 return cb();
 }
 //插件不支持對(duì)stream直接操作,拋出異常
 if(file.isStream()){
 console.log('isStream');
 this.emit('error');
 return cb();
 }
 //內(nèi)容轉(zhuǎn)換,處理好后,再轉(zhuǎn)成Buffer形式
 var content = versionFun(file.contents.toString());
 file.contents = new Buffer(content);
 //下面這兩句基本是標(biāo)配,可參考through2的API
 this.push(file);
 cb();
 });
}
function versionFun(data){
 return data.replace(/{{something}}/, ' Monkey 2 Dorie ');
}

**through-gulp**

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
'use strict'
var through = require('through-gulp');
module.exports = modify;
function modify(){
 var stream = through(function(file, encoding, callback){
 //如果文件為空,不做任何操作,轉(zhuǎn)入下一個(gè)操作,即下一個(gè)pipe
 if(file.isNull()){
 console.log('file is null!');
 this.push(file);
 return callback();
 }
 //插件不支持對(duì)stream直接操作,拋出異常
 if(file.isStream()){
 console.log('file is stream!');
 this.emit('error');
 return callback();
 }
 //內(nèi)容轉(zhuǎn)換,處理好后,再轉(zhuǎn)成Buffer形式
 var content = versionFun(file.contents.toString('utf-8'));
 file.contents = new Buffer(content, 'utf-8');
 this.push(file);
 callback();
 }, function(callback){
 console.log('處理完畢!');
 callback();
 });
 return stream;
}
function versionFun(data){
 return data.replace(/{{something}}/, ' Monkey 2 Dorie ');
}

詳情代碼見github.

拓展閱讀

[1]、through-gulp

[2]、gulp規(guī)范

[3]、gulp高級(jí)技巧

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持服務(wù)器之家!

原文鏈接:http://www.cnblogs.com/giggle/p/6344789.html

延伸 · 閱讀

精彩推薦
460
主站蜘蛛池模板: 未成年人在线观看 | 亚洲精品欧美二区三区中文字幕 | 免费一级欧美在线观看视频 | 日本成人在线免费 | 九九热在线视频观看 | 精品一区二区在线播放 | 国产精品毛片无码 | 国产亚洲精品综合一区91555 | 久久国产精品二区 | 国产成年人网站 | 国产激情精品一区二区三区 | 久久国产精品久久久久久久久久 | 美女毛片儿 | 思思久而久而蕉人 | 爱福利视频网 | 久久久国产精品免费观看 | 欧美成人三级视频 | 欧美激情首页 | 精品一区二区三区欧美 | 一级成人欧美一区在线观看 | 亚洲人成中文字幕在线观看 | 视频一区二区精品 | www日韩大片| 国产免费观看一区二区三区 | 永久免费av在线 | 亚洲精品久久久久久久久久久 | 亚洲国产精品高潮呻吟久久 | 国产成人在线一区二区 | 免费亚洲视频在线观看 | 日韩三级伦理在线观看 | 91精品国产综合久久婷婷香 | 精品久久久久久久久久中文字幕 | 免费黄色一级片 | 一夜新娘第三季免费观看 | asian gaysex| 亚洲综合色视频在线观看 | 在线播放av网址 | 国产精选电影免费在线观看网站 | 久久久久久久久久亚洲 | 狠狠操精品视频 | 羞羞的视频免费 |