Gulp
基于node平台开发的前端构建工具
将机械化操作编写成任务, 想要执行机械化操作时执行一个命令行命令任务就能自动执行了
用机器代替手工,提高开发效率。
Gulp能做什么
- 项目上线,HTML、CSS、JS文件压缩合并
- 语法转换(es6、less …)
- 公共文件抽离
- 修改文件浏览器自动刷新
Gulp使用
- 使用npm install gulp下载gulp库文件
- 在项目根目录下建立gulpfile.js文件
- 重构项目的文件夹结构 src目录放置源代码文件 dist目录放置构建后文件
- 在gulpfile.js文件中编写任务.
- 在命令行工具中执行gulp任务
下载gulp命令
npm install gulp-cli -g
Gulp中提供的方法
- gulp.src():获取任务要处理的文件
- gulp.dest():输出文件
- gulp.task():建立gulp任务
- gulp.watch():监控文件的变化
Gulp插件
- gulp-htmlmin :html文件压缩
- gulp-csso :压缩css
- gulp-babel :JavaScript语法转化
- gulp-less: less语法转化
- gulp-uglify :压缩混淆JavaScript
- gulp-file-include 公共文件包含
- browsersync 浏览器实时同步
把src下的base.css复制粘贴到dist/css里
1 | //引用gulp模块 |
命令: gulp first
把html代码压缩
下载插件: npm install gulp-htmlmin
1 | //引用gulp模块 |
命令: gulp htmlmin
抽取html公共代码
下载插件: npm install gulp-file-include
1 | //引用模块 |
命令: gulp htmlrecude
css里less语法转换
下载插件: npm install gulp-less
1 | const less = require('gulp-less'); |
命令: gulp lesszcss
css压缩
下载插件: npm install gulp-csso
1 | const csso = require('gulp-csso'); |
命令: gulp cssrecude
es6语法转换
下载插件: npm install gulp-csso
1 | const bable = require('gulp-bable'); |
命令: gulp es
压缩js
下载插件: npm install gulp-csso
1 | const uglify = require('gulp-uglify'); |
命令: gulp jsmin
复制文件夹
1 |
|
命令: gulp copy
浏览器自动刷新
在搭建使用gulp-livereload实时自动刷新页面的过程中,需要注意的几点是:
1.使用 gulp-livereload 需要使用 chrome 浏览器,并且安装 gulp-livereload 插件;
2.在 gulpfile.js 中创建task, 旧版使用var server = livereload();已经失效,需要使用 livereload.listen(); ;
3.使用 gulp-livereload 需要使用到服务器,在服务器下进行访问,开启 gulp-livereload 插件;(当然也可以使用 npm 安装 http-server 来启动服务)
1 | const gulp = require('gulp'), |
创建服务器
1 | const gulp=require(‘gulp’);//引入gulp模块 |
构建任务
一次命令 多种任务同时做
1 | gulp.task('default',['htmlmin','csso','jsmin']) |