gulp 之一 安裝及簡單CSS,JS文件合併壓縮

最近研究了一下gulp構建工具,發現使用起來比grunt順手一些。(我的感覺),如下是grunt和gulp構建方式和原理:css

gruntnode

基於文件方式構建,會把文件先寫到臨時目錄下,而後進行讀文件,修改文件,寫文件,,,讀文件,修改文件,寫文件..... 須要進行大量IO操做。git

gulp github

基於流(streaming)的方式構建,首先讀取文件,編譯壓縮文件(流的方式),最終將結果生成到配置的文件目錄下。npm

安裝gulpgulp

假設已經安裝了node 和npm (淘寶的cnpm很適合國內使用)。bootstrap

一、首頁全局安裝gulp。grunt

1 npm install --global gulp 

二、其次局部安裝gulp。(注:局部安裝是安裝到你項目的根目錄,這是不少教程沒有清晰代表)工具

npm install gulp --save-dev

三、在項目根目錄下建立一個名爲 gulpfile.js 的文件ui

var gulp = require('gulp');

gulp.task('default', function() {
  // 將你的默認的任務代碼放在這
});

四、運行gulp。(默認的名爲 default 的任務(task)將會被運行,想要單獨執行特定的任務(task),請輸入 gulp <task> <othertask>)

gulp

 

合併和壓縮JS、CSS文件

壓縮JS,CSS文件須要引用以下組件:

gulp-minify-css: 壓縮css
gulp-jshint: 檢查js
gulp-uglify: 壓縮js
gulp-concat: 合併文件
gulp-rename: 重命名文件
gulp-clean: 清空文件夾

gulp-notify:提示

安裝組件項目目錄,經過cd 進入項目的根目錄,執行下邊的npm安裝組件

npm install  gulp-minify-css gulp-jshint gulp-uglify gulp-rename gulp-concat gulp-clean gulp-notify --save-dev

在上述 gulpfile.js 的文件裏,寫入:

// 引入 gulp及組件
var gulp=require('gulp'),  //gulp基礎庫
    minifycss=require('gulp-minify-css'),   //css壓縮
    concat=require('gulp-concat'),   //合併文件
    uglify=require('gulp-uglify'),   //js壓縮
    rename=require('gulp-rename'),   //文件重命名
    jshint=require('gulp-jshint'),   //js檢查
    notify=require('gulp-notify');   //提示

gulp.task('default',function(){
    gulp.start('minifycss','minifyjs');
});
 
//css處理
gulp.task('minifycss',function(){
   return gulp.src('htdocs/kunpeng/static/css/*.css')      //設置css
       .pipe(concat('order_query.css'))      //合併css文件到"order_query"
       .pipe(gulp.dest('dist/styles'))           //設置輸出路徑
       .pipe(rename({suffix:'.min'}))         //修改文件名
       .pipe(minifycss())                    //壓縮文件
       .pipe(gulp.dest('dist/styles'))            //輸出文件目錄
       .pipe(notify({message:'css task ok'}));   //提示成功
});

//JS處理
gulp.task('minifyjs',function(){
   return gulp.src(['/static/js/juicer-min.js','/static/js/bootstrap.min.js','/static/js/bootstrap-datetimepicker.min.js','/static/js/order_query.js'])  //選擇合併的JS
       .pipe(concat('order_query.js'))   //合併js
       .pipe(gulp.dest(''dist/js'))         //輸出
       .pipe(rename({suffix:'.min'}))     //重命名
       .pipe(uglify())                    //壓縮
       .pipe(gulp.dest('dist/js'))            //輸出 
       .pipe(notify({message:"js task ok"}));    //提示
});

 

運行

gulp
相關文章
相關標籤/搜索