今天给大家分享一篇gulp几款插件的使用
以下代码用到得模块加载‘
1 const gulp=require("gulp"); 2 const gulpSass=require("gulp-sass"); 3 const gulpAutoprefixer=require("gulp-autoprefixer"); 4 const gulpCssmin=require("gulp-cssmin"); 5 const gulpBabel=require("gulp-babel"); 6 const gulpUglify=require("gulp-uglify"); 7 const gulpHtmlmin=require("gulp-htmlmin"); 8 const gulpWebserver=require("gulp-webserver")
1、将sass或者scss文件添加上内核转成我们使用的css文件
1 gulp.task("getCss",()=>{ 2 return gulp.src("./src/scss/*.{scss,sass}") 3 .pipe( 4 //将scss编译成css的函数 5 gulpSass() 6 ) 7 .pipe( 8 //添加内核 9 gulpAutoprefixer({ 10 browsers: ['last 2 versions'], 11 cascade: false 12 }) 13 ) 14 .pipe( 15 gulp.dest("./src/css/") 16 ) 17 })
2、压缩css
1 gulp.task("minCss",()=>{ 2 return gulp.src("./src/css/*.css") 3 .pipe( 4 gulpCssmin() 5 ) 6 .pipe( 7 gulp.dest("./dist/css/") 8 ) 9 })
3、js压缩
gulp.task("minJS",()=>{ return gulp.src("./src/js/*.js") .pipe( gulpBabel() ) .pipe( gulpUglify() ) .pipe( gulp.dest("./dist/js/") ) })
//注意gulp-babel这款插件是对es6转成es5语法 因为es6不能直接压缩 然后需要配置一个.babelrc文件 里面是{"presets": ["@babel/preset-env"]}
4、压缩html
1 gulp.task("htmlmin",()=>{ 2 return gulp.src("./src/index.html") 3 .pipe( 4 gulpHtmlmin({ 5 collapseWhitespace: true, 6 minifyJS:true,//压缩页面js 7 minifyCSS:true//压缩页面css 8 }) 9 ) 10 .pipe( 11 gulp.dest("./dist/") 12 ) 13 })
5、起服务
1 gulp.task("server",()=>{ 2 return gulp.src("./src") 3 .pipe( 4 gulpWebserver({ 5 host:"localhost", 6 port:8000, 7 // middleware:[static,router], 8 //设置一个代理 9 proxies:[ 10 { 11 source:"/api/aa", 12 target:"http://localhost:3000/api/aa" 13 } 14 ] 15 16 }) 17 ) 18 })
这里使用了代理模式的服务 还有很多可以去官网看看
7、
1 gulp.parallel()//并行运行任务 同时 2 gulp.series();//运行任务序列 按顺序 3 gulp.task("dev",gulp.parallel("任务一","任务二")) 4 如果任务三必须在任务一之后运行 语法如下 5 gulp.task("dev",gulp.parallel(gulp.series("任务一","任务三"),"任务二"))
8、总结
gulp.src
导入文件
gulp.task
定义任务
gulp tasknamg
gulp.dest
输出
gulp.watch
监听文件变化
gulp.parallel
设置并行任务
gulp.series
设置顺序任务
-----------------------
gulp 自动化构建任务的工具
babel babel是一个js的编译器
---------------------------
使用插件
1.下载插件 (全局安装下载一次)
2.引入插件
3.调用插件
1.编译scss gulp-sass
2.添加浏览器内核 gulp-autoprefixer
3.压缩js gulp-uglify
4.js语法转换 gulp-babel .babelrc配置 presets字段设置语法转换规则 @babel/preset-env
5.压缩 gulp-hmtlmin
6.压缩css gulp-cssmin
7.起服务 gulp-webserver
8.压缩图片 gulp-imagemin