gulp之几个常用插件介绍

     今天给大家分享一篇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

一条不甘于平凡的咸鱼分享
原文地址:https://www.cnblogs.com/cq1715584439/p/10778730.html