02.模塊加載及包.4.gulp(node第三方模塊)

4.第三方模塊

4.1 什么是第三方模塊

別人寫好的囱井,具有特定功能的,我們能直接使用的模塊即第三方模塊刻恭,由于第三方模塊通常都是由多個(gè)文件組成并放置在一個(gè)文件夾中佛玄,所以又叫包硼一。
第三方模塊有兩種存在模式

  • 以js文件的形式存在,提供實(shí)現(xiàn)項(xiàng)目具體功能的API接口梦抢。
  • 以命令行工具形式存在般贼,輔助項(xiàng)目開發(fā)。

4.2 獲取第三方模塊

npm:node的第三方模塊管理工具奥吩。

  • 下載:npm install 模塊名稱
  • 卸載:npm uninstall package 模塊名稱
    全局安裝與本地安裝
  • 命令行工具:全局安裝
  • 庫文件:本地安裝

4.3 第三方模塊nodemon

nodemon是一個(gè)命令行工具哼蛆,用以輔助項(xiàng)目開發(fā)。
在Node.js中霞赫,每次修改文件都要在命令行工具中重新執(zhí)行該文件腮介,十分繁瑣。
使用步驟:

  1. 使用npm install nodemon -g下載它
    2.在命令行工具中用nodemon命令替代node替代node執(zhí)行文件

4.4第三方模塊 nrm

nrm:npm下載地址切換工具绩脆。
npm默認(rèn)的下載地址在國外萤厅,國內(nèi)下載速度慢橄抹。
使用步驟:
1.使用npm install nrm -g下載它
2.查詢下載地址列表nrm ls
3.切換下載地址nrm use 下載地址名稱

4.5 第三方模塊 Gulp

基于node平臺(tái)開發(fā)的前端構(gòu)建工具
將機(jī)械化操作編寫成任務(wù)靴迫,想要執(zhí)行機(jī)械化操作時(shí)執(zhí)行一個(gè)命令行命令,任務(wù)就能自動(dòng)執(zhí)行楼誓。

4.6 Gulp能做什么

  • 項(xiàng)目上線玉锌,HTML,CSS疟羹,JS文件壓縮合并
  • 語法轉(zhuǎn)換(es6主守,less)
  • 公共文件抽離
  • 修改文件瀏覽器自動(dòng)刷新

4.7 Gulp使用

1.使用npm install gulp下載gulp庫文件
2.在項(xiàng)目根目錄下建立gulpfile.js文件
3.重構(gòu)項(xiàng)目的文件夾結(jié)構(gòu)src目錄放置源代碼文件禀倔,dist目錄放置構(gòu)建后文件
4.在gulpfile.js文件中編寫任務(wù)
5.在命令行工具中執(zhí)行g(shù)ulp任務(wù)

4.8 Gulp中提供的方法

  • gulp.src('文件路徑'):獲取任務(wù)要處理的文件
  • gulp.dest('文件路徑'):輸出文件
  • gulp.task('任務(wù)名稱',回調(diào)函數(shù)):建立gulp任務(wù)
  • gulp.watch():監(jiān)控文件的變化
const gulp=require('gulp');
//使用gulp.task()方法建立任務(wù)
gulp.task('first',()=>{
    console.log('我的第一個(gè)gulp任務(wù)執(zhí)行了');
    //獲取要處理的文件
    gulp.src('./src/css/base.css')
    //將處理后的文件輸出到dist目錄(這里的pipe是執(zhí)行的意思,把要執(zhí)行的文件放到pipe里参淫,會(huì)自動(dòng)執(zhí)行)
    .pipe(gulp.dest('./dist/css'));
});

4.9 Gulp插件(記住名字救湖,現(xiàn)用現(xiàn)查)

  • gulp-htmlmin:壓縮html
// html任務(wù)
// 1.html文件中代碼的壓縮操作
// 2.抽取html文件中的公共代碼
gulp.task('htmlmin', () => {
    gulp.src('./src/*.html')
        //先抽取公共代碼
        .pipe(fileinclude())
        //抽取完公共代碼,需要在公共代碼原來所在的地方涎才,寫一個(gè)引入的式子(由include提供):@@include('公共代碼文件路徑')
        // 壓縮html文件中的代碼(清除空格)
        .pipe(htmlmin({ collapseWhitespace: true }))
        .pipe(gulp.dest('dist'));
});
  • gulp-csso:壓縮css
// css任務(wù)
// 1.less語法轉(zhuǎn)換
// 2.css代碼壓縮
gulp.task('cssmin', () => {
    // 選擇css目錄下的所有l(wèi)ess文件以及css文件
    gulp.src(['./src/css/*.less', './src/css/*.css'])
        // 將less語法轉(zhuǎn)換為css語法
        .pipe(less())
        // 將css代碼進(jìn)行壓縮
        .pipe(csso())
        // 將處理的結(jié)果進(jìn)行輸出
        .pipe(gulp.dest('dist/css'))
});
  • gulp-babel:JS語法轉(zhuǎn)化
// js任務(wù)
// 1.es6代碼轉(zhuǎn)換
// 2.代碼壓縮
gulp.task('jsmin', () => {
    gulp.src('./src/js/*.js')
        .pipe(babel({
            // 它可以判斷當(dāng)前代碼的運(yùn)行環(huán)境 將代碼轉(zhuǎn)換為當(dāng)前運(yùn)行環(huán)境所支持的代碼
            presets: ['@babel/env']
        }))
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'))
});
  • gulp-less:less語法轉(zhuǎn)化
  • gulp-uglify:壓縮混淆JS
  • gulp-file-include:公共文件包含
  • browsersync:瀏覽器實(shí)時(shí)同步
    其他操作:
    復(fù)制文件夾:
gulp.task('copy',()=>{
    gulp.src('文件路徑')
          .pipe(gulp.desk('文件路徑'));
})

執(zhí)行一個(gè)任務(wù)鞋既,剩下全部執(zhí)行:

// 構(gòu)建任務(wù)
gulp.task('default', ['htmlmin', 'cssmin', 'jsmin', 'copy']);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市耍铜,隨后出現(xiàn)的幾起案子邑闺,更是在濱河造成了極大的恐慌,老刑警劉巖棕兼,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陡舅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡伴挚,警方通過查閱死者的電腦和手機(jī)靶衍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來章鲤,“玉大人摊灭,你說我怎么就攤上這事“芑玻” “怎么了帚呼?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)皱蹦。 經(jīng)常有香客問我煤杀,道長(zhǎng),這世上最難降的妖魔是什么沪哺? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任沈自,我火速辦了婚禮,結(jié)果婚禮上辜妓,老公的妹妹穿的比我還像新娘枯途。我一直安慰自己,他們只是感情好籍滴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布酪夷。 她就那樣靜靜地躺著,像睡著了一般孽惰。 火紅的嫁衣襯著肌膚如雪晚岭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天勋功,我揣著相機(jī)與錄音坦报,去河邊找鬼库说。 笑死,一個(gè)胖子當(dāng)著我的面吹牛片择,可吹牛的內(nèi)容都是我干的潜的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼字管,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼夏块!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起纤掸,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤脐供,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后借跪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體政己,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年掏愁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了歇由。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡果港,死狀恐怖沦泌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辛掠,我是刑警寧澤谢谦,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站萝衩,受9級(jí)特大地震影響回挽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜猩谊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一千劈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧牌捷,春花似錦墙牌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至淋袖,卻和暖如春鸿市,著一層夾襖步出監(jiān)牢的瞬間锯梁,已是汗流浹背即碗。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國打工焰情, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人剥懒。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓内舟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親初橘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子验游,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1、gulp的安裝 首先確保你已經(jīng)正確安裝了nodejs環(huán)境保檐。然后以全局方式安裝gulp: npm install...
    F_imok閱讀 2,378評(píng)論 1 11
  • gulpjs是一個(gè)前端構(gòu)建工具耕蝉,與gruntjs相比,gulpjs無需寫一大堆繁雜的配置參數(shù)夜只,API也非常簡(jiǎn)單垒在,學(xué)...
    井皮皮閱讀 1,296評(píng)論 0 10
  • gulpjs是一個(gè)前端構(gòu)建工具,與gruntjs相比扔亥,gulpjs無需寫一大堆繁雜的配置參數(shù)场躯,API也非常簡(jiǎn)單,學(xué)...
    build1024閱讀 529評(píng)論 0 0
  • gulpjs是一個(gè)前端構(gòu)建工具旅挤,與gruntjs相比踢关,gulpjs無需寫一大堆繁雜的配置參數(shù),API也非常簡(jiǎn)單粘茄,學(xué)...
    小裁縫sun閱讀 928評(píng)論 0 3
  • 在現(xiàn)在的前端開發(fā)中签舞,前后端分離、模塊化開發(fā)柒瓣、版本控制瘪菌、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,440評(píng)論 1 32