gulp學習(三)-實戰

參考

前面兩節學習到gulp的基本知識,也知道gulp可以進行壓縮,監控,combo等等,這節進行實戰。由于gulp有很多插件,所以我們不必重復造輪子,只用用好相關插件就可以

gulp當做web服務器

某些時候我們會在本地安裝Apache或者Nginx當做靜態服務器,有了gulp之后就不用了。gulp-connect插件可以實現web服務器功能

安裝gulp-connect:

    npm install --save-dev gulp-connect

示例:

    'use strict';
    const gulp = require('gulp');
    const connect  = require('gulp-connect');
    gulp.task('server',function(){
        connect.server();
    });
    gulp.task('default',['server']);

執行命令gulp,然后終端會打印日志如下:

    [22:07:20] Using gulpfile ~/WebstormProjects/es6-doc/gulpfile.js
    [22:07:20] Starting 'server'...
    [22:07:20] Finished 'server' after 34 ms
    [22:07:20] Starting 'default'...
    [22:07:20] Finished 'default' after 7.53 μs
    [22:07:20] Server started http://localhost:8080

可以看出已經啟動了web服務器。可以通過http://localhost:8080訪問。默認是訪問gulpfile.js所在目錄的index.html

省時的瀏覽器同步測試工具browsersync

摘自官網

rowsersync能讓瀏覽器實時、快速響應您的文件更改(html、js、css、sass、less等)并自動刷新頁面。更重要的是 Browsersync可以同時在PC、平板、手機等設備下進項調試。您可以想象一下:“假設您的桌子上有pc、ipad、iphone、android等設備,同時打開了您需要調試的頁面,當您使用browsersync后,您的任何一次代碼保存,以上的設備都會同時顯示您的改動”。無論您是前端還是后端工程師,使用它將提高您30%的工作效率。

gulp 壓縮js css

安裝 gulp-uglify:

    npm install --save-dev gulp-uglify

示例:

    gulp.watch('js/*.js',['uglify_js']);
    gulp.task('uglify_js',function(){
        gulp.src('js/*.js')
            .pipe(uglify())
            .pipe(gulp.dest('build/js'));
    });
    gulp.task('default',['uglify_js']);

上面這段代碼可以實現,當js文檔下面的js文件內容變化時,會被重新壓縮并輸出到目的目錄

gulp 編譯less

安裝:

npm install --save-dev gulp-less

示例:

    const gulp = require('gulp');
    const less = require('gulp-less');
    // 編譯less
    // 在命令行輸入 gulp less 啟動此任務
    gulp.task('less', function () {
        // 1. 找到 less 文件
        gulp.src('less/**.less')
            // 2. 編譯為css
            .pipe(less())
            // 3. 另存文件
            .pipe(gulp.dest('dist/css'))
    });

    // 在命令行使用 gulp auto 啟動此任務
    gulp.task('auto', function () {
        // 監聽文件修改,當文件被修改則執行 less 任務
        gulp.watch('less/**.less', ['less'])
    })

    // 使用 gulp.task('default') 定義默認任務
    // 在命令行使用 gulp 啟動 less 任務和 auto 任務
    gulp.task('default', ['less', 'auto'])

上面代碼可以實現less文件變化,編譯輸出到css文件夾下

另外還可以用gulp來編譯sass和壓縮圖片以及combo文件等等。可以自己去查看

利用gulp構建項目

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • gulpjs是一個前端構建工具,與gruntjs相比,gulpjs無需寫一大堆繁雜的配置參數,API也非常簡單,學...
    依依玖玥閱讀 3,192評論 7 55
  • 前言 本文默認你已經安裝好node環境,并且熟悉node命令,和window cd命令。 gulp簡介 基于nod...
    9I閱讀 1,995評論 4 50
  • 1、gulp的安裝 首先確保你已經正確安裝了nodejs環境。然后以全局方式安裝gulp: npm install...
    F_imok閱讀 2,406評論 1 11
  • 對網站資源進行優化,并使用不同瀏覽器測試并不是網站設計過程中最有意思的部分,但是這個過程中的很多重復的任務能夠使用...
    懵逼js閱讀 1,094評論 0 8
  • 編輯于2015年 轉載自某作者的譯文 作者要是看到請聯系我注明出處 對網站資源進行優化,并使用不同瀏覽器測試并不是...
    krock01閱讀 455評論 0 2