gulp

日常項目裏用到的 簡單設置css

var gulp = require('gulp');
var commonPathPrefix = 'public/';   //須要編譯的公共目錄
//var imagemin = require('gulp-imagemin');
//var pngquant = require('imagemin-pngquant');
var uglify = require('gulp-uglify');
//var cleanCSS = require('gulp-clean-css');
//var htmlmin = require('gulp-htmlmin');
//var gulpJade  = require('gulp-jade');
//var jade = require('jade');
//var jshint = require('gulp-jshint');
//var csslint = require('gulp-csslint');
//var stylish = require('jshint-stylish');html


//項目須要用到的庫
var commonFils = [
    'node_modules/jquery/dist/jquery.*.js',
    'node_modules/handlebars/dist/handlebars.*.js',
    'node_modules/js-cookie/src/*.js',
    'node_modules/moment/min/*.js',
    'node_modules/spin.js/*.js',
    'node_modules/Detect.js/*.js'
];node

// 代碼質量靜態檢查
gulp.task('lint:js', function () {
    return gulp.src([commonPathPrefix + 'js/**/*.js'])
        .pipe(jshint())
        .pipe(jshint.reporter(stylish));
});jquery

gulp.task('lint:css', function () {
    return gulp.src(commonPathPrefix + 'css/*.css')
        .pipe(csslint('.csslintrc'))
        .pipe(csslint.reporter(stylish));
});gulp

gulp.task('lint', ['lint:js', 'lint:css']);cookie

//開發環境復件文件
gulp.task('copy', function() {
    gulp.src('node_modules/**/*.js')
        .pipe(gulp.dest('public/node_modules'));
});ui

//壓縮腳本文件
gulp.task('scripts', function() {
    gulp.src('*.js')
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'));
    //gulp.src(commonFils, {base: '.'})
      //  .pipe(uglify())
        //.pipe(gulp.dest('dist'));
});spa

//壓縮CSS文件
gulp.task('css', function() {
    return gulp.src(commonPathPrefix + 'css/*')
        .pipe(cleanCSS({debug: true}, function(details) {
            console.log(details.name + ': ' + details.stats.originalSize);
            console.log(details.name + ': ' + details.stats.minifiedSize);
        }))
        .pipe(gulp.dest('dist/css'));
});debug

//壓縮圖片
gulp.task('images', function() {
    gulp.src(commonPathPrefix + 'images/*')
        .pipe(imagemin({
            optimizationLevel: 2,
            progressive: true,
            use: [pngquant()]
        }))
        .pipe(gulp.dest('dist/images'));
});htm

//編譯jade
gulp.task('templates',['html'], function() {
    gulp.src('views/**/*.jade')
        .pipe(gulpJade({
            jade: jade,
            pretty: false
        }))
        .pipe(gulp.dest('dist'));
});

//壓縮html文件
gulp.task('html', function () {
    gulp.src(commonPathPrefix + 'templates/**/*')
        .pipe(htmlmin({
            collapseWhitespace: true,
            ignoreCustomFragments: [/<.*?>|(\}\} \{\{)/, /<%[\s\S]*?%>/, /<\?[\s\S]*?\?>/]
        }))
        .pipe(gulp.dest('dist/templates'));
});

gulp.task('default', ['css', 'scripts', 'images', 'templates', 'copy']);  

相關文章
相關標籤/搜索