gulp实例
来源:互联网 发布:windows桌面 编辑:程序博客网 时间:2024/06/11 09:44
var gulp = require('gulp'),runSequence = require('run-sequence'),gulpif = require('gulp-if'),uglify = require('gulp-uglify'),less = require('gulp-less'),csslint = require('gulp-csslint'),rev = require('gulp-rev'),minifyCss = require('gulp-minify-css'),changed = require('gulp-changed'),jshint = require('gulp-jshint'),stylish = require('jshint-stylish'),revCollector = require('gulp-rev-collector'),minifyHtml = require('gulp-minify-html'),autoprefixer = require('gulp-autoprefixer'),del = require('del');var cssSrc = ['main.less', 'layer-box.less', 'tag.less'],cssDest = 'dist/css',jsSrc = 'src/js/*.js',jsDest = 'dist/js',fontSrc = 'src/fonts/*',fontDest = 'dist/font',imgSrc = 'src/img/*',imgDest = 'dist/img',cssRevSrc = 'src/css/revCss',condition = true;function changePath(basePath){var nowCssSrc = [];for (var i = 0; i < cssSrc.length; i++) {nowCssSrc.push(cssRevSrc + '/' + cssSrc[i]);}return nowCssSrc;}//Fonts & Images 根据MD5获取版本号gulp.task('revFont', function(){return gulp.src(fontSrc).pipe(rev()).pipe(gulp.dest(fontDest)).pipe(rev.manifest()).pipe(gulp.dest('src/rev/font'));});gulp.task('revImg', function(){return gulp.src(imgSrc).pipe(rev()).pipe(gulp.dest(imgDest)).pipe(rev.manifest()).pipe(gulp.dest('src/rev/img'));});//检测JSgulp.task('lintJs', function(){return gulp.src(jsSrc)//.pipe(jscs()) //检测JS风格.pipe(jshint({"undef": false,"unused": false}))//.pipe(jshint.reporter('default')) //错误默认提示.pipe(jshint.reporter(stylish)) //高亮提示.pipe(jshint.reporter('fail'));});//压缩JS/生成版本号gulp.task('miniJs', function(){return gulp.src(jsSrc).pipe(gulpif(condition, uglify())).pipe(rev()).pipe(gulp.dest(jsDest)).pipe(rev.manifest()).pipe(gulp.dest('src/rev/js'));});//CSS里更新引入文件版本号gulp.task('revCollectorCss', function () {return gulp.src(['src/rev/**/*.json', 'src/css/*.less']).pipe(revCollector()).pipe(gulp.dest(cssRevSrc));});//检测CSSgulp.task('lintCss', function(){return gulp.src(cssSrc).pipe(csslint()).pipe(csslint.reporter()).pipe(csslint.failReporter());});//压缩/合并CSS/生成版本号gulp.task('miniCss', function(){return gulp.src(changePath(cssRevSrc)).pipe(less()).pipe(gulpif(condition, minifyCss({compatibility: 'ie7'}))).pipe(rev()).pipe(gulpif(condition, changed(cssDest))).pipe(autoprefixer({browsers: ['last 2 versions'],cascade: false,remove: false })).pipe(gulp.dest(cssDest)).pipe(rev.manifest()).pipe(gulp.dest('src/rev/css'));});//压缩Html/更新引入文件版本gulp.task('miniHtml', function () {return gulp.src(['src/rev/**/*.json', 'src/*.html']).pipe(revCollector()).pipe(gulpif(condition, minifyHtml({empty: true,spare: true,quotes: true}))).pipe(gulp.dest('dist'));});gulp.task('delRevCss', function(){del([cssRevSrc,cssRevSrc.replace('src/', 'dist/')]);})//意外出错?清除缓存文件gulp.task('clean', function(){del([cssRevSrc ,cssRevSrc.replace('src/', 'dist/')]);})//开发构建gulp.task('dev', function (done) {condition = false;runSequence( ['revFont', 'revImg'], ['lintJs'], ['revCollectorCss'], ['miniCss', 'miniJs'], ['miniHtml', 'delRevCss'],done);});//正式构建gulp.task('build', function (done) {runSequence( ['revFont', 'revImg'], ['lintJs'], ['revCollectorCss'], ['miniCss', 'miniJs'], ['miniHtml', 'delRevCss'],done);});gulp.task('default', ['build']);
0 0
- gulp实例
- gulp 使用实例解析
- gulp 菜鸟实例分析
- gulp 实例 demo
- gulp文件实例,自动化环境搭建实例,自动化,gulp自动化,gulp教程
- 前端构建工具 Gulp.js 上手实例
- Gulp在前端的常用操作实例
- Gulp在前端的常用操作实例
- 前端构建工具 Gulp.js 上手实例
- gulp
- Gulp
- gulp
- Gulp
- gulp
- gulp
- gulp
- gulp
- gulp
- [mysql] 命令行,批量删除表操作
- Android rxjava内存泄漏问题
- 使用文本挖掘实现站点个性化推荐
- 个人项目前端代码小总结1.0
- 前后端分离之前端增删改查
- gulp实例
- js跨域数据请求解决办法
- 第16周项目2-大数据集上排序算法性能的体验
- 第十六周项目1-(5)验证算法直接选择排序
- nodejs的express自动生成项目框架
- (第十六周项目3)归并排序算法的改进
- 在Windows下配置pthread
- 更改结构体的内存字节对齐方式--经典
- ❤下一秒❤