var gulp = require('gulp');

var jshint = require('gulp-jshint');
var uglify = require('gulp-uglify');
var minify_css = require('gulp-clean-css');
var minify_html = require('gulp-minify-html');
var del = require('del');
var argv = require('yargs').argv;

// install path
var install_prefix = argv.prefix;
if( install_prefix == undefined ) install_prefix = 'build';

// clean last build
gulp.task('clean', function() {
    del([install_prefix]);
});

// lint task
gulp.task('jshint',function(){
    gulp.src(['static/js/**/*.js', '!static/js/libs/**'])
        .pipe(jshint())
        .pipe(jshint.reporter('default'));
});

// mini JS
gulp.task('minify',function(){
    gulp.src(['static/js/**/*.js', '!static/js/libs/**'])
        .pipe(uglify())
        .pipe(gulp.dest(install_prefix + '/static/js'));
});

// mini CSS
gulp.task('minify-css',function(){
    gulp.src('static/css/cloud-install-step.css')
        .pipe(minify_css())
        .pipe(gulp.dest(install_prefix + '/static/css'));
});

// mini html
gulp.task('minify-html',function(){
    var index = gulp.src('*.html')
        .pipe(minify_html())
        .pipe(gulp.dest(install_prefix));
});

// copy files
gulp.task('copy-files', function() {
    var img = gulp.src('static/img/**')
        .pipe(gulp.dest(install_prefix + '/static/img'));
    var css = gulp.src(['static/css/**', '!static/css/cloud-install-step.css'])
        .pipe(gulp.dest(install_prefix + '/static/css'));
    var jslib = gulp.src('static/js/libs/**')
        .pipe(gulp.dest(install_prefix + '/static/js/libs'));
});

// default
gulp.task('default',['jshint', 'minify', 'minify-css', 'minify-html', 'copy-files']);

 

 

Gulp 學習 2 - 打包壓縮 CSS 與 JS

arrow
arrow
    全站熱搜

    JohnDX 發表在 痞客邦 留言(0) 人氣()