设为首页 加入收藏

TOP

构建工具Gulp(六)
2017-10-13 10:50:09 】 浏览:8655
Tags:构建 工具 Gulp

【监控】

  配置文件如下

var gulp = require('gulp');

/**image**/
var imagemin = require('gulp-imagemin');
var spritesmith = require('gulp.spritesmith'); 

gulp.task('img', function() {
    //压缩图片
   gulp.src('src/img/*.{png,jpg,gif,ico}')
        .pipe(imagemin())
        .pipe(gulp.dest('dist/img'));
    //制作雪碧图
    gulp.src('src/img/sprite/*')
        .pipe(spritesmith({
            'imgName':'sprite.png',
            'cssName':'sprite.css',
            'padding':5 
        }))
        .pipe(gulp.dest('src/css/temp'));
  gulp.src('src/css/temp/sprite.png')
        .pipe(gulp.dest('dist/img'));
});

/**css**/
var concat = require('gulp-concat');
var csslint = require('gulp-csslint');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var cleancss = require('gulp-clean-css');
var concat = require('gulp-concat');
var rename = require("gulp-rename");
gulp.task('sass', function() {
    return  gulp.src('src/css/sass/**/*.scss')
            //将sass编译为css代码
      .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest('src/css/temp'));       
});
gulp.task('css', ['sass'],function() {       
    return  gulp.src('src/css/temp/**/*.css')
        //设置css检测规则,并检测css代码
        // .pipe(csslint('.csslintrc'))
        //对代码进行报错提示
        // .pipe(csslint.formatter())
        //合并文件
        .pipe(concat('style.css'))
        //根据设置浏览器版本自动处理浏览器前缀
        .pipe(autoprefixer({
            browsers: ['last 2 versions', 'Android >= 4.0']
        }))       
        //压缩css文件
        .pipe(cleancss({compatibility: 'ie8'})) 
        //重命名
        .pipe(rename("style.min.css"))
        //输出到目标目录
        .pipe(gulp.dest('dist/css')); 
});

/**js**/
var requirejs = require('gulp-requirejs');
var uglify = require('gulp-uglify');

gulp.task('js', function() {
    //将js模块打包成一个文件
    return requirejs({
          baseUrl: 'src/js',
          paths:{
            'jquery':'../../dist/js/jquery'
          },
          out:'main.js',
          name: 'main',       
          exclude: ['jquery']
    })
    //压缩文件
    .pipe(uglify())
    .pipe(gulp.dest('dist/js'));
});

/**版本号**/
var rev = require('gulp-rev');
var useref = require('gulp-useref');
var revReplace = require('gulp-rev-replace');
 
gulp.task('file',['css'],function() {
    gulp.src('*.html')
        .pipe(useref())
        .pipe(rev())
        .pipe(revReplace())
        .pipe(gulp.dest('dist/'));
});

/**监控**/
gulp.task('auto',function(){
    gulp.watch('src/img',['img']);
    gulp.watch('src/css/sass/**/*',['css']);
    gulp.watch('src/js/**/*',['js']);
    gulp.watch('dist/css/style.min.css',['file']);
})

gulp.task('default',['js', 'img', 'file','auto']);

  index.html文件内容如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title> 
<script data-main="main" src="js/require.js"></script>
<!-- build:css css/style.min.css -->
<link rel="stylesheet" href="dist/css/style.min.css">
<!-- endbuild -->
</head>
<body>
<script>
require.config({
    baseUrl:'js',
    paths:{
        'jquery':'../../dist/js/jquery'
    }
});
</script>
</body>
</html>

 

 

  

<script type="text/java script" src="http://files.cnblogs.com/files/xiaohuochai/contextMenu.js"> <script type="text/java script" src="http://files.cnblog
首页 上一页 3 4 5 6 7 下一页 尾页 6/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇JavaScript 特效三大系列总结 下一篇webpack分离第三方库(CommonsChun..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目