gulp是什么?javascript
gulp是前端开发过程当中对代码进行构建的工具,是自动化项目的构建利器;它不只能对网站资源进行优化,并且在开发过程当中不少重复的任务可以使用正确的工具自动完成;使用它,咱们不只能够很愉快的编写代码,并且大大提升咱们的工做效率。css
gulp是基于Nodejs的自动任务运行器, 它能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。在实现上,它借鉴了Unix操做系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操做上很是简单。经过本文,咱们将学习如何使用Gulp来改变开发流程,从而使开发更加快速高效。html
gulp 和 grunt 很是相似,但相比于 grunt 的频繁 IO 操做,gulp 的流操做,能更快地更便捷地完成构建工做。前端
安装gulp的一些步骤java
首先固然是安装nodejs,经过nodejs的npm全局安装和项目安装gulp,其次在项目里安装所须要的gulp插件,而后新建gulp的配置文件gulpfile.js并写好配置信息(定义gulp任务),最后经过命令提示符运行gulp任务便可。node
安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务
说明:gulp是基于nodejs,理所固然须要安装nodejs;npm
安装:打开nodejs官网,点击硕大的绿色Download按钮,它会根据系统信息选择对应版本(.msi文件)。gulp
说明:什么是命令行?命令行在OSX是终端(Terminal),在windows是命令提示符(Command Prompt);windows
注:以后操做都是在windows系统下;浏览器
简单介绍gulp在使用过程当中经常使用命令,打开命令提示符执行下列命令(打开方式:window + r 输入cmd回车):
node -v查看安装的nodejs版本,出现版本号,说明刚刚已正确安装nodejs。PS:未能出现版本号,请尝试注销电脑重试;
npm -v查看npm的版本号,npm是在安装nodejs时一同安装的nodejs包管理器,那它有什么用呢?稍后解释;
cd定位到目录,用法:cd + 路径 ;
dir列出文件列表;
cls清空命令提示符窗口内容。
说明:npm(node package manager)nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等);
使用npm安装插件:命令提示符执行npm install <name> [-g] [--save-dev]
;
<name>:node插件名称。例:npm install gulp-less --save-dev
使用npm卸载插件:npm uninstall <name> [-g] [--save-dev]
PS:不要直接删除本地插件包
删除所有插件:npm uninstall gulp-less gulp-uglify gulp-concat
借助rimraf:npm install rimraf -g 用法:rimraf node_modules
使用npm更新插件:npm update <name> [-g] [--save-dev]
更新所有插件:npm update [--save-dev]
查看npm帮助:npm help
当前目录已安装插件:npm list
说明:全局安装gulp目的是为了经过她执行gulp任务;
安装:命令提示符执行cnpm install gulp -g;
查看是否正确安装:命令提示符执行gulp -v,出现版本号即为正确安装。
安装一些插件:
安装js插件======npm install gulp-uglify --save-dev
安装html插件======npm install gulp-htmlmin --save-dev
安装css插件======npm install gulp-minify-css --save-dev
安装编译sass插件======npm install gulp-less --save-dev
先引入依赖:
//引入依赖 var gulp = require('gulp');
接着引入插件:
//js压缩 var uglify = require('gulp-uglify'); //更换名称 var rename = require('gulp-rename'); //css压缩 var cssmin = require('gulp-minify-css'); //html 压缩 var htmlmin = require('gulp-htmlmin');
配置任务:
//压缩js gulp.task('uglifyJS', function(){ gulp.src('index/js/*.js') .pipe(uglify()) .pipe(gulp.dest('dest/js')); }); //编译less html/js--》dest/css gulp.task('testLess', function () { return gulp.src(['index/less/*.less']) .pipe(less()) .pipe(gulp.dest('dest/css')); }); //压缩css gulp.task('minicss', ['testLess'], function () {
//执行完testLess任务后再执行minicss任务 gulp.src(['index/css/*.css']) .pipe(cssmin()) .pipe(gulp.dest('dest/cssmin')); }); //压缩html gulp.task('html', function() { gulp.src('index/*.html') .pipe(htmlmin({collapseWhitespace: true})) .pipe(gulp.dest('dest/html')); });
最后注册默认任务:
gulp.task('default', [ 'uglifyJS','testLess','minicss','html']);
此文有我从别的网站摘要的一些内容分享,也有我本身的一些理解,如有错误请大神多多指教!!!