设为首页 加入收藏

TOP

gulp使用详情 及 3.0到4.0的坑(一)
2019-09-17 18:03:00 】 浏览:36
Tags:gulp 使用 详情 3.0 4.0 的坑

项目的所有依赖都可以安装,每个都有详细的注释。

const gulp = require('gulp');
const sass = require('gulp-sass');
const browserSync = require("browser-sync").create(), //自动刷新
reload = browserSync.reload;
const filter = require('gulp-filter');
// gulp-filter 包, 以确保只有 *.css 文件响应 .reload - 这样一来,
// 您还是会得到CSS注入,而不是整个页面重载。
const useref = require('gulp-useref'); //合并JS
const uglify = require('gulp-uglify'); //js压缩
const minifyCSS = require('gulp-minify-css'); //压缩css

var gulpIf = require('gulp-if');

var del = require('del');

var runSequence = require('run-sequence');//组织任务执行顺序,未使用

var rename = require('gulp-rename');//重命名

var watch=require('gulp-watch');//监视

var minifyHtml = require("gulp-minify-html");//压缩html

var babel = require("gulp-babel");
// npm install --save-dev gulp-babel@7 babel-core babel-preset-env

var jshint = require("gulp-jshint");//js检查
var imagemin = require('gulp-imagemin');//压缩图片文件
var pngquant = require('imagemin-pngquant'); //png图片压缩插件
var connect=require('gulp-connect');//引入gulp-connect模块 浏览器刷新
var cache = require('gulp-cache');//压缩图片可能会占用较长时间,使用 gulp-cache 插件可以减少重复压缩。
var Reva ll = require("gulp-rev-all");//md5后缀

 

gulp.task('html',function(){//编译html
return gulp.src('app/*.html')
.pipe(gulp.dest('app/dist'))
.pipe(connect.reload());
})

 

gulp.task('css',function(){//编译scss
return gulp.src('app/scss/**/*.scss')
.pipe(sass())//编译scss
// .pipe(gulp.dest('app/css')) //当前对应css文件
.pipe(gulp.dest('app/dist/css')) //当前对应css文件
.pipe(connect.reload());//更新
})

 

gulp.task('js',function(){//编译ES6并且压缩
return gulp.src('app/js/**/*.js')
.pipe(jshint())//检查代码
.pipe(babel({//编译ES6
presets: ['es2015']
}))
.pipe(uglify())//压缩js
.pipe(gulp.dest('app/dist/js'))
.pipe(connect.reload());
})

 

gulp.task('fonts', function() {
return gulp.src('app/fonts/**/*')
.pipe(gulp.dest('app/dist/fonts'))
})

 

gulp.task('images', function() {
return gulp.src('app/images/**/*.+(png|jpg|jpeg|gif|svg)')
// Caching images that ran through imagemin
.pipe(cache(imagemin({//压缩图片文件
interlaced: true,
})))
.pipe(gulp.dest('dist/images'))
});

 

gulp.task('clean:app/dist', function() {//删除之前生成的文件
return del(['app/dist']);
});

 

gulp.task('clean:dist', function() {//异步清理除dist目录图片以外的文件
return del(['app/dist/**/*', '!dist/images', '!dist/images/**/*']);
});

 

gulp.task('minFs', function() {//压缩文件
return gulp.src('app/dist/*.html')
.pipe(useref())//合并js
.pipe(
gulpIf('*.js',uglify())//压缩js
)
.pipe(gulpIf('*.css', minifyCSS()))//压缩css
.pipe(Reva ll.revision({//不被重命名
dontRenameFile:[/^\/favicon.ico$/g, ".html"]
})) 
.pipe(gulp.dest('dist'));
});

 

gulp.task('connect:app',function(){
connect.server({
root:'app',//根目录
// ip:'192.168.11.62',//默认localhost:8080
livereload:true,//自动更新
port:9998//端口
})
})

 

gulp.task('connect:dist',function(cb){
connect.server({
root:'app',//根目录
// ip:'192.168.11.62',//默认localhost:8080
livereload:true,//自动更新
port:9999//端口
})
cb()//执行回调,表示这个异步任务已经完成,起通作用,这样会执行下个任务
})

&nb

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇使用VSCode创建一个Vue项目 下一篇使用webgl(three.js)搭建一个3D智..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目