gulp不生成打包檔案 gulp自動化打包(下)

2021-10-17 04:51:00 字數 2024 閱讀 8865

打包流程簡介

本次打包大致過程是checkout出想要打包的git版本(可以是tag,也可以是branchname),然後依次讀取專案中的html、less、js進行壓縮合併等操作,複製專案中所用到的第三方庫到輸出目錄(即plugins中的外掛程式,比如lodash、echarts等,前邊壓縮合併的js是自己寫的js),然後打zip包,傳送至目的地。

開始編寫gulp指令碼

宣告gulp外掛程式

var gulp = require('gulp'),

concat = require('gulp-concat'),

less = require('gulp-less'),

minifycss = require('gulp-minify-css'),

minify = require('gulp-minify'),

zip = require('gulp-zip'),

moment = require("moment"),

ftp = require('gulp-ftp'),

git = require('gulp-git'),

runsequence = require('run-sequence'),

ar** = require('minimist')(process.ar**.slice(2)),

del = require('del'),

uglify = require('gulp-uglify'),

htmlmin = require('gulp-htmlmin'),

ngannotate = require('gulp-ng-annotate');

統一配置路徑

比如專案結構圖如下:

那麼這裡配置的輸入輸出路徑即為:

路徑以gulpfile.js為參考位置。

var path=))

.pipe(uglify())

.pipe(concat('index.min.js'))

.pipe(gulp.dest(config.output.dist))

編譯壓縮合併less

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

.pipe(uglify())

.pipe(concat('index.min.js'))

.pipe(gulp.dest(config.output.dist))

錯誤寫法:

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

.pipe(uglify())

.pipe(concat('index.min.js'))

.pipe(gulp.dest(config.output.dist))

前邊都要這樣寫,最後一項不加return,在本例中,即ftp的方法不用返回。

清理dist目錄

寫到這裡,還有乙個問題,就是沒有對資料夾進行清理,這也是比較重要的,在每一次開始打包工作之前,我們需要清理dist目錄,以保證下一次打包不會被上一次打包的檔案「汙染」。這裡用到gulp-del的外掛程式,**如下:

gulp.task('clean',function(){

return del(config.output.dist);

完整打包review

經過以上,乙個完整的run-sequence如下:

gulp.task('publish', function (callback) {

runsequence('clean','checkout',['html', 'js','less', 'copy'],'zip_new','ftp',callback);

流程圖:

gulp不生成打包檔案 gulp打包詳解

gulp的作用 刪除檔案中冗餘的內容,壓縮檔案,減小檔案體積 實際專案中執行的都是壓縮完成以後的檔案 減小載入響應時間 gulp打包壓縮物件 html,css,js,sass,webserver 音訊,外掛程式等正常情況下都是打包完成的,直接移動到dist檔案中就可以 伺服器食慾gulp一起繫結執行...

gulp不生成打包檔案 gulp打包詳解

gulp的作用 刪除檔案中冗餘的內容,壓縮檔案,減小檔案體積 實際專案中執行的都是壓縮完成以後的檔案 減小載入響應時間 gulp打包壓縮物件 html,css,js,sass,webserver 音訊,外掛程式等正常情況下都是打包完成的,直接移動到dist檔案中就可以 伺服器食慾gulp一起繫結執行...

gulp 移動檔案 gulp打包詳解

gulp的作用 刪除檔案中冗餘的內容,壓縮檔案,減小檔案體積 實際專案中執行的都是壓縮完成以後的檔案 減小載入響應時間 gulp打包壓縮物件 html,css,js,sass,webserver 音訊,外掛程式等正常情況下都是打包完成的,直接移動到dist檔案中就可以 伺服器食慾gulp一起繫結執行...