gulp打包js

在終端定位到你要建立目錄的地方,輸入npm

sudo mkdir js

建立文件夾,這個文件夾就是放你要壓縮js文件的地方gulp

輸入
vim

sudo vim gulpfile.js

這個js就是寫gulp全部的配置信息,ui

在這個js中輸入:
spa

var gulp=require ("gulp") //獲取gulp

var uglify=require ("gulp-uglify") //獲取gulp-ublify組建

gulp.task("script", function(){
    gulp.src("js/*.js") //找到js文件夾下的全部js
           .pipe(uglify()) //壓縮文件
           .pipe(gulp.dest("dist/js")) //壓縮完成後的文件另存到dist/js/目錄下 
})  
gulp.task(name, fn) - 定義任務,第一個參數是任務名,第二個參數是任務內容。 gulp.src(path) - 選擇文件,傳入參數是文件路徑。 gulp.dest(path) - 輸出文件 gulp.pipe() - 管道,你能夠暫時將 pipe 理解爲將操做加入執行隊列 

此時你還須要安裝一個局域的gulp(我沒安裝各類報錯)code

在gulplify.js的平級下打開終端,輸入blog

sudo cnpm install gulp      //此處不須要 「-g」

而後安裝gulp-uglify模板,命令以下:隊列

sudo cnpm install gulp-uglify

輸出若是沒有扎眼的紅色提示則表示安裝成功事件

這時輸入ip

gulp script

若是輸出中有Finished "script" after ...即表示壓縮成功

這時你去文件夾目錄下便能看到一個叫dist的文件夾,這個文件夾下的js文件就是壓縮成功後的代碼

固然這樣若是js下的文件有變化就須要本身從新輸入一遍gulp script,不是很人性化
因此加入一條自動檢測代碼:

gulp.task('auto', function () {
    // 監聽文件修改,當文件被修改則執行 script 任務
    gulp.watch('js/*.js', ['script'])
})

固然watch跑起來就進入運行狀態,此時你不能再輸入別的操做,固然想要輸入別的命令則須要關閉watch便可,命令:

ctrl+C(Mac爲Control +C)

固然咱們也能夠把它定義成默認事件,只須要在終端輸入gulp而後回車即可讓程序運行,代碼以下:

gulp.task('default', ['script', 'auto']);

最終版代碼:

var gulp = require ("gulp")

var uglify = require("gulp-uglify")

gulp.task("script", function(){
    gulp.src("js/*.js").pipe(uglify()).pipe(gulp.dest("dist/js"))
})
gulp.task("auto",function(){
    gulp.watch("js/*js",["script"])
})
gulp.task("default",["script","auto"])
相關文章
相關標籤/搜索