今天给大家分享一篇gulp几款插件的使用

以下代码用到得模块加载‘

 

 const gulp=require("gulp");
const gulpSass=require("gulp-sass");
const gulpAutoprefixer=require("gulp-autoprefixer");
const gulpCssmin=require("gulp-cssmin");
const gulpBabel=require("gulp-babel");
const gulpUglify=require("gulp-uglify");
const gulpHtmlmin=require("gulp-htmlmin");
const gulpWebserver=require("gulp-webserver")

1、将sass或者scss文件添加上内核转成我们使用的css文件

 gulp.task("getCss",()=>{
return gulp.src("./src/scss/*.{scss,sass}")
.pipe(
//将scss编译成css的函数
gulpSass()
)
.pipe(
//添加内核
gulpAutoprefixer({
browsers: ['last 2 versions'],
cascade: false
})
)
.pipe(
gulp.dest("./src/css/")
)
})

2、压缩css

 gulp.task("minCss",()=>{
return gulp.src("./src/css/*.css")
.pipe(
gulpCssmin()
)
.pipe(
gulp.dest("./dist/css/")
)
})

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
 gulp.task("htmlmin",()=>{
return gulp.src("./src/index.html")
.pipe(
gulpHtmlmin({
collapseWhitespace: true,
minifyJS:true,//压缩页面js
minifyCSS:true//压缩页面css
})
)
.pipe(
gulp.dest("./dist/")
)
})

5、起服务

 gulp.task("server",()=>{
return gulp.src("./src")
.pipe(
gulpWebserver({
host:"localhost",
port:8000,
// middleware:[static,router],
//设置一个代理
proxies:[
{
source:"/api/aa",
target:"http://localhost:3000/api/aa"
}
] })
)
})

这里使用了代理模式的服务 还有很多可以去官网看看

7、

 gulp.parallel()//并行运行任务 同时
gulp.series();//运行任务序列 按顺序
gulp.task("dev",gulp.parallel("任务一","任务二"))
如果任务三必须在任务一之后运行 语法如下
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

gulp之几个常用插件介绍的更多相关文章

  1. Notepad++前端开发常用插件介绍 - BorisHuai前端修炼 - 博客频道 - CSDN

    Notepad++前端开发常用插件介绍 - BorisHuai前端修炼 - 博客频道 - CSDN.NET http://blog.csdn.net/borishuai/article/details ...

  2. subline text3常用插件介绍

    常用插件介绍:  html beautify(ctrl+shift+alt+f) 自动排版代码 Emmet 输入少量代码后摁Tab键,系统自动补全代码. AutoFileName 快速列出你想引用的文 ...

  3. Notepad++前端开发常用插件介绍

    Notepad++前端开发常用插件介绍 Notepad++除了自身的功能强大之外,更是有许多非常的优秀的插件,下面就总结一下前端开发过程一些比较常用的插件. Emmet Emmet的前身是Zen Co ...

  4. Gulp构建前端自动化工作流之:常用插件介绍及使用

    在对Gulp有了一个初步的了解之后,我们开始构建一个较为完整的Gulp开发环境. 本文主要分为6个段落: 1. 构建项目目录结构(Directory Structure Build) 2. 插件介绍及 ...

  5. 【转载】Grunt常用插件介绍

    项目名称 grunt-contrib v0.8.0 项目地址 https://github.com/gruntjs/grunt-contrib 项目介绍 此项目是对grunt常用插件的集合,刚接触gr ...

  6. idea常用插件介绍

    常用插件 mybatis mapper 选择plugins,搜索mybatis plugin 激活教程 使用 插件的使用

  7. sublime text 3 15个常用插件介绍

    1.ColorPicker 功能:调色板(需要输入颜色时,可直接选取颜色) 使用:快捷键Windows: ctrl+shift+c 2.Emmet 功能:编码快捷键,前端必备 使用:在输入代码段后,按 ...

  8. VS2010常用插件介绍

    今天在写JS时,写到500多行时,感觉代码已经很难看了.想到C#代码都有折叠功能,是不是JS也有呢.在选项中找了一下,没有相关了的设置功能,于是就上网找.一找可就不得了,发现了好多好用的插件.都可以在 ...

  9. VS2010常用插件介绍之Javascript插件(一)

    引自:http://blog.csdn.net/cyxlzzs/article/details/6583577 今天在写JS时,写到500多行时,感觉代码已经很难看了.想到C#代码都有折叠功能,是不是 ...

随机推荐

  1. sudo的安装

    关于mini版的centos7的是不能直接sudo命令的 下面我来说一下怎么让sudo命令生效 第一步 先切换到root用户: su -    第二步 visudo 给相应用户分配sudo的权限 第三 ...

  2. Java Web开发中的转发和重定向的问题

    Java Web的页面实现跳转有两种方式,一种是转发,另外一种是重定向.一般来说,转发比重定向快.重定向会经过客户端,转发却不会. 转发 request.getRequestDispatcher(&q ...

  3. CentOS随笔 - 2.CentOS7安装ftp支持(vsftpd)

    前言 转帖请注明出处: http://www.cnblogs.com/Troy-Lv5/ 在前一篇文章中介绍了在虚拟机中安装CentOS7, 接下来就要进行配置了, 第一个就是安装ftp支持. 要不然 ...

  4. 【 PostgreSQL】工作中常用SQL语句干货

    接触gp数据库近一年的时间,语法上和其他数据库还是有些许不同,工作中常用的操作语句分享给大家! -- 建表语句 create table ods.ods_b_bill_m ( acct_month t ...

  5. EXCHANGE 2013 队列

    每当咱在Exchange里查看队列的时候,我们会看到队列分成好几个组,每个邮箱数据库都有自己的目标队列,DAG.AD站点也是,AD林也是一个队列,最后最多的就是外部SMTP域队列. 当传输服务处理队列 ...

  6. C# 表达式树 创建、生成、使用、lambda转成表达式树~表达式树的知识详解

    笔者最近学了表达式树这一部分内容,为了加深理解,写文章巩固知识,如有错误,请评论指出~ 表达式树的概念 表达式树的创建有 Lambda法 和 组装法. 学习表达式树需要 委托.Lambda.Func& ...

  7. awk 截取某段时间的日志

    好久没有截取nginx/haproxy 中 的日志了,竟有点不熟悉了. 记录一下,以免以后忘记. NGINX 日志格式: 192.168.1.26 - - [14/Sep/2017:16:48:42 ...

  8. 提升PHP速度

    PHP的优点之一是速度很快,对于一般的网站应用,可以说是已经足够了.不过如果站点的访问量很高.带宽窄或者其它的因素令服务器产生性能瓶颈的时候,你可能得想想其它的办法来进一步提高PHP的速度了.这篇文章 ...

  9. SuperSocket 介绍

    一.总体介绍 SuperSocket 是一个轻量级的可扩展的 Socket 开发框架,由江振宇先生开发. 官方网站:http://www.supersocket.net/ SuperSocket具有如 ...

  10. c++计算器后续(5)

    自娱自乐: 大概是重新开始玩qt,然后MFC和第四步附加的作业大概不会去玩了.以上. QT相关: 阶段一: 原来作业里举了qt和mfc这两个做界面的东西,网上都说qt容易上手,学了mfc再来看qt简直 ...