概念
- 官网:https://www.gulpjs.com.cn/
- 第三方模块
- 基于 node 平台开发的前端构建工具
- 将机械化操作编写成任务,想要执行机械化操作时执行一个命令行命令任务就能自动执行了
-
能做什么
项目上线,HTML、CSS、JS文件压缩合并
- 语法转换(es6、less…)es6转es5提交兼容性
- 公共文件抽离
- 修改文件浏览器自动刷新
- ……
使用
安装
```bash // 安装gulp npm install gulp -g
// 安装 gulp 命令行工具(安装了才能执行gulp命令) npm install gulp-cli -g
<a name="hQkZP"></a>
## 重构项目的文件夹结构 src 目录放置源代码文件 dist 目录放置构建后文件
<a name="r4qnd"></a>
## 在项目根目录下建立 gulpfile.js 文件
- 
- 引入gulp模块
```bash
const gulp = require('gulp')
注册任务
gulp.task('任务名',function(){
// 将你的任务的任务代码放在这
})
注册默认任务
gulp.task('default',['任务'])// 异步执行
在命令行工具中执行 gulp 任务
Gulp插件
html文件压缩 gulp-htmlmin
- 合并文件(js/css) gulp-concat
- 实时自动编译刷新 gulp-livereload
- 压缩css gulp-csso
- JavaScript语法转化(ES6转ES5) gulp-babel
- less语法转化 gulp-less
- 压缩混淆JavaScript gulp-uglify
- 公共文件包含 gulp-file-include
- 浏览器实时同步 browsersync
下载
npm install gulp-htmlmin gulp-csso --save-dev
API
获取任务要处理的文件
gulp.src(filePath/pathArr)
- 指向指定路径的所有文件,返回文件流对象
-
输出文件
gulp.dest(dirPath/pathArr)
- 指向指定的所有文件夹
-
建立 gulp 任务
gulp.task(name,[deps],fn)
-
监控文件的变化
gulp.watch()
- 监控文件的变化
代码