gulp

平常项目里用到的 简单设置

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');


//项目需要用到的库
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'
];

// 代码质量静态检查
gulp.task('lint:js', function () {
    return gulp.src([commonPathPrefix + 'js/**/*.js'])
        .pipe(jshint())
        .pipe(jshint.reporter(stylish));
});

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

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

//开发环境复件文件
gulp.task('copy', function() {
    gulp.src('node_modules/**/*.js')
        .pipe(gulp.dest('public/node_modules'));
});

//压缩脚本文件
gulp.task('scripts', function() {
    gulp.src('*.js')
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'));
    //gulp.src(commonFils, {base: '.'})
      //  .pipe(uglify())
        //.pipe(gulp.dest('dist'));
});

//压缩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'));
});

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

//编译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']);
 

转载于:https://my.oschina.net/idip/blog/711178

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值