gulp的简单介绍与应用
gulp:是一种基于流的构建化工具。
一、gulp的安装与测试:
首先,需要做好以下步骤:
1. 建立一个文件夹,打开文件夹,点击鼠标右键,打开git控制框。


2. 检查npm有没有安装,使用命令npm -v。

检查gulp有没有安装,使用命令gulp -v,我这里已经安装了。

没有安装的,使用命令npm install –global gulp进行全局安装。
3. 搭建好项目基本框架。

然后,初始化npm,使用命令npm init。

4. 安装gulp到自己的项目上,使用命令npm i gulp –save-dev。

检查一下,gulp -v。

5. 创建一个gulpfile.js 文件,

二、gulp的API:
写好html、css、与js。




1、src(); 资源映射
2、dest(); 用于在文件系统上创建文件
3、series(); 任务
运行gulp,把src文件下面的html文件,复制到dist文件下。


此时,test文件下多了一个dist文件。

在浏览器打开dist下的html,

发现有报错,因为css文件和js并没有复制过来。
下面把css文件和js文件也复制到dist文件下,运行gulp,

此时,css与js也被复制到dist文件下了,

再打开html页面看一下,可以看到css样式有了,js输出也有了。

三、gulp插件:
搜索插件:https://gulpjs.com/plugins
1. gulp-htmlclean (压缩html)
首先,使用命令 npm install gulp-htmlclean –save-dev,下载到开发环境上。

导入插件,

然后压缩html,运行gulp,


压缩前dist文件下的html,

压缩后dist文件下的html,

2. gulp-clean-css (压缩css) — 使用方法和 gulp-htmlclean 差不多
首先,使用命令 npm install gulp-clean-css –save-dev,下载到开发环境上。

导入插件,

然后压缩css,运行gulp,

压缩前dist文件下的css,

压缩后dist文件下的css,

3. gulp-uglify (压缩js) — 使用方法和 gulp-htmlclean 差不多
首先,使用命令 npm install gulp-uglify –save-dev,下载到开发环境上。

导入插件,

然后压缩js,运行gulp,

压缩前dist文件下的js,

压缩后dist文件下的js,

4. gulp-imagemin (压缩图片) — 使用方法和 gulp-htmlclean 差不多
首先,使用命令 npm install gulp-imagemin –save-dev,下载到开发环境上。

然后,在src目录下的html文件上添加上一张图片,运行gulp,

打开dist目录下的html页面,

发现报错了,因为还没有把图片复制到dist目录下,
复制一下吧,

再打开dist目录下的html页面看看,图片出来了,


接下来,压缩img,导入插件,

然后压缩img,运行gulp,

5. gulp-less (将less文件转换成css文件)
首先,使用命令 npm install gulp-less –save-dev,下载到开发环境上。

导入插件,

把src目录下的.css文件换成.less文件。

然后在压缩前,将less转换成css,运行gulp,

6. gulp-strip-debug (去掉js中的调试语句)
首先,使用命令 npm install gulp-strip-debug –save-dev,下载到开发环境上。

导入插件,

去掉js中的调试语句前,dist文件下的js,

去掉js中的调试语句后,dist文件下的js,发现没了console.log(a(1)); 说明已经调试了。


写上debugger; 调试后,也不会存在。


7. gulp-postcss autoprefixer (给css加前缀)
首先,使用命令 npm install gulp-postcss autoprefixer –save-dev,下载到开发环境上。

导入插件,


这些属性都是有前缀的,

然后,修改一下src目录下的css,

然后,运行gulp,打开dist目录下的css,发现有前缀了。

8. gulp-connect-reproxy (开启服务器)
首先,使用命令 npm install gulp-connect –save-dev,下载到开发环境上。

导入插件,

运行gulp,Server started http://localhost:8080 这就是默认的端口号,

端口号可以更改,如


四、gulp的api : watch(); 监听
设置监听事件,运行gulp,


我们更改sec目录html,js,css文件,看一下dist目录下的html,js,css文件会不会有变化,改了之后不需要运行gulp,
html:
改之前,



改了之后,



css:
改之前,


改了之后,



js就不演示了。
监听的同时,我们可以开启刷新,gulp运行,没改文件之前,


改了文件之后,



