Gulp 自動化構建

2021-08-19 13:35:24 字數 3310 閱讀 6838

use-gulp 官網

編譯 sass

合併優化壓縮 css

校驗壓縮 js

優化新增檔案指紋(md5)

元件化頭部底部(include html)

實時自動重新整理…

gulp是前端開發過程中對**進行自動化構建的利器。它不僅能對資源進行優化,而且在開發過程中能夠通過配置自動完成很多重複的任務,讓我們可以專注於**,提高工作效率。

通過各種外掛程式, 配置任務task , 完成需要

全域性安裝

npm install gulp -g

區域性安裝

npm i -d gulp

這裡列舉比較常用的外掛程式:

比較特殊的

- gulp-load-plugins

var $ = require('gulp-load-plugins')(); $ 是乙個物件,載入了依賴裡的外掛程式 通過$.***使用外掛程式
參考**

gulp外掛程式**

gulp.src( )

一般直接寫檔案路徑, 通過 * 萬用字元來通配全部檔案

gulp.dest(path[, options])

輸出到資料夾 , 資料夾不存在將會自動建立

gulp.task(name[, deps], fn)

核心 , 配置乙個任務 執行一連續的操作

name

任務的名字,如果你需要在命令列中執行你的某些任務,那麼,請不要在名字中使用空格。

deps

型別: array

乙個包含任務列表的陣列,這些任務會在你當前任務執行之前完成。

fn 該函式定義任務所要執行的一些操作。通常來說,它會是這種形式:gulp.src().pipe(someplugin())。

gulp.watch( )

gulp.watch(glob [, opts], tasks) 或 gulp.watch(glob [, opts, cb]

監視檔案,並且可以在檔案發生改動時候做一些事情。它總會返回乙個 eventemitter 來發射(emit) change 事件。

var watcher = gulp.watch('js/**/*.js', ['uglify','reload']);

watcher.on('change', function(event) );

// 其他寫法

gulp.watch('js/**/*.js', function(event) );

這裡以使用gulp-less檔案編譯less檔案做例子

在專案根路徑下 建立gulpfile.js 檔案

var gulp = require('gulp')

// less檔案編譯成css

var less = require('gulp-less')

gulp.task('lesstask', function

() )) // 重新命名

.pipe(less()) // 將less檔案編譯成css

.pipe(gulp.dest('dist/css')) // 輸出 將會在dist/css下生成index.css

});gulp.task('default',[ 'htmlmintask']); // 預設任務 , gulp 預設執行

可以通過 gulp lesstask 執行任務

如果在新增到預設任務中, 直接gulp執行

在task中 是否使用return來決定是非同步還是同步

const gulp = require('gulp');

// 沒有使用return

gulp.task('js',function () )

gulp.task('css',function () )

gulp.task('html',function () )

gulp.task('default', ['js', 'css', 'html']);

執行結果

然後加上return

const gulp = require('gulp');

// 使用return

gulp.task('js', function

() )

gulp.task('css', function

() )

gulp.task('html', function

() )

gulp.task('default', ['js', 'css', 'html']);

執行結果

結果顯然是非同步的

不想全部同步 , 但是個別任務是要同步順序執行 怎麼辦?

// less檔案轉化為css檔案

gulp.task('less', function

() );

// 新增前置任務 這樣less任務執行完 才會執行css任務

// 執行css任務 都是自動先執行完less任務

gulp.task('css', ['less'], function

() ))

.pipe($.cleancss())

.pipe(gulp.dest('dist/css/'))

});

乙個自動化構建工具

怎麼可以少了 watch 和自動重新整理

自動重新整理的外掛程式是 gulp-livereload 本地伺服器可以用 gulp-webserver 或者 gulp-connect 都可以

這裡就演示用gulp-webserver和gulp-conncet

const gulp = require('gulp');

const $ = require('gulp-load-plugins')();

// 使用 open 自動開啟乙個**

});

輸入 gulp server 啟動一下即可

這裡就不演示了

gulp前端自動化構建工具

gulp是基於node.js的乙個構建工具 自動任務執行器 開發者可以使用它自動化工作流程。一些常見的 重複的任務,例如 網頁自動重新整理 css預處理 檢測 壓縮 等,只需要簡單的命令就能全部完成。使用它可以簡化工作,提高開發效率。gulp優點 簡潔 gulp側重 優於配置 最直觀的感受,更為簡單...

2 1 8 Gulp自動化構建案例

在html中有時會引入一些css 或者js 檔案,這些檔案當我們打包完成之後就會出現檔案路徑不對應的情況。針對這個問題可以使用乙個 useref 的外掛程式,使用這個外掛程式可以自動地處理html中的構建注釋。按照這些構建注釋,useref 可以幫我們將檔案打包到指定的目錄中,並且在這個過程中還可以...

gulp構建自動化工具

首先確保gulp是全域性變數 npm install g gulp安裝完之後 gulp v 檢視版本 gulp v首先安裝 gulp yarn add gulpes6 es5 yarn add gulp babel 7.0.1 babel core babel preset es2015本地服務 y...