首页 > 代码库 > 我的gulp.js清单

我的gulp.js清单

var gulp = require(‘gulp‘),
        cssmin = require(‘gulp-clean-css‘), //压缩css文件
        concat = require(‘gulp-concat‘), //合并js文件
        jsmin = require(‘gulp-uglify‘), //压缩js文件
        imgmin = require(‘gulp-imagemin‘), //图片压缩
        rename = require(‘gulp-rename‘), //文件重命名
        jshint = require(‘gulp-jshint‘), //js文件检查
        rev = require(‘gulp-rev‘), //- 对文件名加MD5后缀
        revCollector = require(‘gulp-rev-collector‘), //路径替换
        connect = require(‘gulp-connect‘); //配置本地服务器

//#########文件监听及自动刷新网页start#################
gulp.task(‘connect‘, function () {
    connect.server({
        host: ‘localhost‘, //地址,可不写,不写的话,默认localhost
        port: 3000, //端口号,可不写,默认8000
        root: ‘./‘, //当前项目主目录
        livereload: true //自动刷新
    });
});

gulp.task(‘html‘, function () {
    gulp.src(‘./bill/*.html‘)
            .pipe(connect.reload());
});

gulp.task(‘watch‘, function () {
    gulp.watch(‘./bill/css/*.css‘, [‘html‘]); //监控css文件
    gulp.watch(‘./bill/js/*.js‘, [‘html‘]); //监控js文件
    gulp.watch([‘./bill/*.html‘], [‘html‘]); //监控html文件
});

gulp.task(‘server‘, [‘connect‘, ‘watch‘]);

//#########文件监听及自动刷新网页end #################

gulp.task(‘Cssmin‘, function () {
    gulp.src("bill/css/common.css")
            .pipe(rename({suffix: ‘.min‘}))
            .pipe(cssmin({dubug: true}, function (details) {
                console.log(details);
                console.log(details.name + ‘(originalSize): ‘ + details.stats.originalSize);
                console.log(details.name + ‘(minifiedSize): ‘ + details.stats.minifiedSize);
            }))
            .pipe(rev())
            .pipe(gulp.dest("bill/css"))
            .pipe(rev.manifest()) //- 生成一个rev-manifest.json
            .pipe(gulp.dest(‘bill/css‘));
});

gulp.task(‘Jsmin‘, function () {
    gulp.src("bill/js/common.js")
            .pipe(rename({suffix: ‘.min‘}))
            .pipe(jsmin())
            .pipe(rev())
            .pipe(gulp.dest("bill/js"))
            .pipe(rev.manifest()) //- 生成一个rev-manifest.json
            .pipe(gulp.dest(‘bill/js‘));
});

gulp.task(‘Imgmin‘, function () {
    gulp.src("src/img/*.jpg")
            .pipe(imgmin({
                optimizationLevel: 5, //类型:Number  默认:3  取值范围:0-7(优化等级)
                progressive: true, //类型:Boolean 默认:false 无损压缩jpg图片
                interlaced: true, //类型:Boolean 默认:false 隔行扫描gif进行渲染
                multipass: true //类型:Boolean 默认:false 多次优化svg直到完全优化
            }))
            .pipe(gulp.dest("dist/img"));
});

gulp.task(‘rev‘, function () {
    gulp.src([‘./bill/**/*.json‘, "./bill/index.html"])//- 读取 rev-manifest.json 文件以及需要进行替换的文件
            .pipe(revCollector(
                    {
                        replaceReved: true,
                        dirReplacements: {
                            ‘css‘: ‘css‘,
                            ‘js‘: ‘js‘
                        }
                    }
            ))//- 执行文件名的替
            .pipe(gulp.dest(‘./bill‘)); //- 替换后的文件输出的目录
});

//执行配置任务
gulp.task(‘default‘, [‘Cssmin‘, ‘Jsmin‘, "rev"], function () {
    // gulp.start(‘testJsmin‘);
});

  

我的gulp.js清单