gulpfile

254 阅读1分钟

//在这里面写gulp的配置

// 基于task(任务)的

// 第一步,需要引入用到的插件

// 在引入插件的时候,require里面不需要放路径名字,只需要放上插件名

var gulp = require('gulp'); var concat = require('gulp-concat'); var clean = require('gulp-clean-css'); var rename = require('gulp-rename');

//压缩js var uglify = require('gulp-uglify');

//混淆js var obfuscate = require('gulp-obfuscate');

//开启服务器环境 var connect = require('gulp-connect');

//压缩图片 var imageMin = require('gulp-imagemin');

//postcss var postCss = require('gulp-postcss'); var autopre = require('gulp-autoprefixer');

// 注意,当你使用require来引入外部文件的时候,如果是引入的node_modules文件夹里面的文件,就不需要添加任何路径 // 如果你引入的是自定义的文件,一定要加上路径,如果是当前目录的,一定要加上./

// 第二步,就可以写相应的任务 //gulp.taks(任务名, function(){

//})

// gulp.src(放上的是源文件的路径)

//合并,压缩css gulp.task('MiniCss', function() { gulp.src('css/*.css')

//pipe管道的意思   指的是当前要做什么事情
.pipe(concat('app.css'))
    .pipe(autopre({
        browsers: ['> 5%', 'Firefox > 20', 'ie 6-8', '> 5% in US']
    }))
    .pipe(clean())
    .pipe(rename({
        extname: '.min.css'
    }))
    .pipe(gulp.dest('dist/'))

});

//合并、压缩js的任务

gulp.task('MiniJs', function() {

gulp.src('js/*.js')

.pipe(concat('app.js'))
    .pipe(obfuscate({ replaceMethod: obfuscate.ZALGO }))
    .pipe(uglify({
        mangle: {
            toplevel: true
        }
    }))
    .pipe(rename({
        extname: '.min.js'
    }))
    .pipe(gulp.dest('dist/'))

});

// 用来设置开启服务器环境的任务 gulp.task('Server', function() { connect.server({ port: 4000, // 更改端口号的 直接放上你要的端口号 //host: '88.88.88.88' //设置访问地址的 //https: true livereload: true }); });

//用来监听文件的更改 gulp.task('watchFile', ['MiniCss', 'MiniJs'], function() {

gulp.watch('js/*.js', ['MiniJs']);
gulp.watch('css/*.css', ['MiniCss'])

});

//压缩图片的任务 gulp.task('MiniImg', function() { gulp.src('img/*') .pipe(imageMin({ optimizationLevel: 1 })) .pipe(gulp.dest('dist/img/')) })

//在Gulp里面 有一个默认的任务名 default // 就是先执行中括号里面的任务,再执行default

gulp.task('default', ['Server', 'watchFile', 'MiniImg'])