一、开始

使用gulp,需知道4个API:

  gulp.task():用来定义任务,

          格式:gulp.task(name[, deps], fn)

            name 为任务名

            deps 是当前定义的任务需要依赖的其他任务,为一个数组。当前定义的任务会在所有依赖的任务执行完毕后才开始执行。如果没有依赖,则可省略这个参数
            fn 为任务函数,我们把任务要执行的代码都写在里面。该参数也是可选的。

  gulp.src():用来读取文件,

          格式:gulp.src(globs[, options]),

          globs  参数是文件匹配模式(类似正则表达式),用来匹配文件路径(包括文件名),当然这里也可以直接指定某个具体的文件路径。当有多个匹配模式时,该参数可以为一个数组。
          options  为可选参数。通常情况下我们不需要用到。

  gulp.dest():用来写文件的:,

         格式:gulp.dest(path[,options])

         path  为写入文件的路径
         options  为一个可选的参数对象,通常我们不需要用到

  gulp.watch():用来监视文件的变化,当文件发生变化后,我们可以利用它来执行相应的任务,例如文件压缩等,

            格式:gulp.watch(glob[, opts], tasks)

            glob  为要监视的文件匹配模式,规则和用法与gulp.src()方法中的glob相同。
            opts  为一个可选的配置对象,通常不需要用到
            tasks  为文件变化后要执行的任务,为一个数组

二、实例

  需要先安装gulp

 npm install -g gulp

  手动建立一个gulpfile.js文件,作为入口,

  初始化,引入gulp  

npm init;
npm install --save-dev gulp;

  然后在gulpfile.js写入

var gulp = require('gulp');var plugins = require('gulp-load-plugins')();var src = {js: 'js/*.js',html: './*.html',css: 'css/*css',img: 'img/**'
}var buildGulp = {// html 打包buildHtml: () => {gulp.src(src.html).pipe(plugins.minifyHtml()).pipe(gulp.dest('./dist'));},// css 打包buildCss: () => {gulp.src(src.css).pipe(plugins.minifyCss()).pipe(gulp.dest('dist/css'));},// js 打包buildJs: () => {gulp.src(src.img).pipe(plugins.imagemin()).pipe(gulp.dest('dist/img'));},// img打包buildImg: () => {gulp.src(src.js).pipe(plugins.uglify()).pipe(gulp.dest('dist/js'));},
};gulp.task('default',function(){gulp.start('build')
});gulp.task('build', function(){for ( var i in buildGulp){buildGulp[i]();}
});

我们用gulp-uglify压缩js, gulp-minify-css压缩css, gulp-minify-html压缩html,gulp-imagemin压缩图片

为避免在文件头部引入依赖时过去冗长,引入gulp-load-plugins来从package.json中引入依赖,通过调用实例中的方法来加载依赖,加载方式为按需加载

最后执行gulp,会从名称为default的task开始执行,打包文件,输出的文件由gulp.dest设置在dist目录下

转载于:https://www.cnblogs.com/lastnigtic/p/6974961.html

gulp基础使用方法记录相关推荐

  1. 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)

    27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...

  2. YOLO v4 糅合方法记录

    YOLO v4 糅合方法记录 记录YOLO v4中使用的各种网络技术,用最简短的话(就是懒)进行总结,并记录思考. ResNeXt 论文地址: https://link.zhihu.com/?targ ...

  3. 计算机基础教研活动记录,计算机文化基础集体备课活动记录.doc

    <计算机文化基础>课程集体备课活动记录 时间 2011.3.3 地点 公共管理与技能系办公室 主持人 魏丽 研讨问题 信息的概念和表征,二进制,计算机系统 过程 记录 授课时间安排: 信息 ...

  4. Jupyter Notebook各种使用方法记录

    Jupyter Notebook各种使用方法记录 一. Jupyter NoteBook的安装 1.1 新版本Anaconda自带Jupyter 目前,最新版本的Anaconda是自带Jupyter ...

  5. cannot create file怎么解决_内核问题解决方法记录

    内核问题解决方法记录 ♪ 张释文 在内核开发这块,基本工作都是:打补丁,调补丁,调bug.最耗神的就是调bug,调bug的过程最花时间的一步是定位问题,基本上只要定位到问题,解决起来就容易些了(目前我 ...

  6. SaltStack介绍——SaltStack是一种新的基础设施管理方法开发软件,简单易部署,可伸缩的足以管理成千上万的服务器,和足够快的速度控制,与他们交流...

    SaltStack介绍和架构解析 简介 SaltStack是一种新的基础设施管理方法开发软件,简单易部署,可伸缩的足以管理成千上万的服务器,和足够快的速度控制,与他们交流,以毫秒为单位.SaltSta ...

  7. Linux 下的NFS server 架设基础及方法

    Linux 下的NFS server 架设基础及方法<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office: ...

  8. Linux基础优化方法(四)———远程连接缓慢优化

    Linux基础优化方法(四)---远程连接缓慢优化 一.优化原因 二.优化方法 第一步:修改SSH服务配置文件 /etc/ssh/sshd_config 第二步:修改/etc/hosts配置文件 第三 ...

  9. Linux基础优化方法(三)———字符集编码设置优化

    Linux基础优化方法(三)---字符集编码设置优化 一.什么是字符编码 二.编码GB2312.GBK.UTF-8 三.工作时有乱码的原因 四.进行优化 1.CentOS 6 ①.查看默认编码信息: ...

最新文章

  1. 可租赁、可定制的虚拟人居然还能这么玩?9月25日来百度大脑人像特效专场一探究竟!...
  2. centos php pdo mysql_mysql - CentOS6.5下php无法使用pdo - Pho
  3. docker,k8s学习笔记汇总
  4. 2019.8.13 sdfzoier
  5. 未定义变量: data_三、变量声明
  6. 栈溢出笔记1.1 函数调用过程
  7. Java HashMap源码剖析
  8. 聚奎中学2021高考成绩查询,江津2017全体高考考生的喜报
  9. python api接口调用_python 调用有道api接口的方法
  10. Python基础学习九 单元测试
  11. linux r语言 安装包下载,R语言安装程序包(示例代码)
  12. 中国知网如何下载外文文献
  13. HTML 网页特殊符号代码大全
  14. C++计算某天是该年的第几天
  15. 【题解】DZY Loves Math
  16. 中国资源卫星应用中心_数据下载
  17. 9X、2000、XP、2003所有注册表设置
  18. C语言C++编程学习:排序原理分析
  19. 什么是防火墙?服务器防火墙建议开启吗?
  20. 启贤老师:数字货币投资市场何为盈利 实仓客户心路历程

热门文章

  1. Pile 0009: Vim命令梳理
  2. iOS - UIScrollView
  3. Sitemesh3的使用及配置
  4. jmeter学习笔记(一)
  5. CLR 与 C++的常用类型转换笔记
  6. eclipse编辑jsp文件和javascript代码很卡解决办法
  7. 简介DOTNET 编译原理 简介DOTNET 编译原理 简介DOTNET 编译原理
  8. 3.19PMP试题每日一题
  9. dede 5.7 任意用户重置密码前台
  10. 洛谷——P1546 最短网络 Agri-Net