首页 > 代码库 > Scales小谈gulp

Scales小谈gulp

---恢复内容开始---

 gulp是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务。

外网:http://gulpjs.com/

中文官网:http://www.gulpjs.com.cn/

技术分享

易于使用

通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理。

构建快速

利用 Node.js 流的威力,你可以快速构建项目并减少频繁的 IO 操作。

插件高质

Gulp 严格的插件指南确保插件如你期望的那样简洁高质得工作。

易于学习

通过最少的 API,掌握 Gulp 毫不费力,构建工作尽在掌握:如同一系列流管道。

 

gulp其功能就是将代码放在管道顶部,自由垂落,经过管道的每个片段处理过程,从而实现了对代码的整体处理,最后落入目标目录,一句话“流的感觉”

gulp安装:

gulp基于node,要先安装node,然后命令行输入 npm install -g gulp --save-dev (-g:全局安装;--save-dev将gulp加入package.json开发依赖项)

安装gulp常用插件:

npm install -g gulp-sass gulp-autoprefixer gulp-minify-css gulp-jshint gulp-concat gulp-uglify gulp-imagemin gulp-notify gulp-rename gulp-livereload gulp-cache --save-dev

 

项目:

1、创建目录scale,在其下面创建learn-gulp项目目录,目录里存放css、js文件

2、安装局部gulp和局部gulp插件,安装方法与上面相同(不安装局部无法操作项目)

3、创建gulpfile.js文件

目录结构,如图:

技术分享

 

编写gulpfile.js

多少年的老规矩了上代码:

 1 var gulp = require("gulp"),            //加载gulp模块
 2     concat = require("gulp-concat"),
 3     minify = require("gulp-minify-css"),       //加载插件模块
 4     uglify = require("gulp-uglify"),
 5     livereload = require("gulp-livereload"),
 6     rename = require("gulp-rename");
 7 
 8     
 9     // 合并,压缩css文件
10     gulp.task(‘css‘, function() {              //任务名(必须是字符串11         gulp.src(‘learn-gulp/*.css‘)
12             .pipe(concat(‘all.css‘))
13             .pipe(minify())
14             .pipe(rename(‘all.min.css‘))  //{suffix:‘.md‘}(加后缀的)
15             .pipe(gulp.dest(‘dist‘));
16     });
//合并,压缩js文件
17 gulp.task(‘script‘, function() { 18 gulp.src(‘learn-gulp/*.js‘) 19 .pipe(concat(‘all.js‘)) 20 .pipe(uglify()) 21 .pipe(rename(‘all.min.js‘)) 22 .pipe(gulp.dest(‘dist‘)); 23 }); 24 25 // 默认任务 26 gulp.task(‘default‘, [‘css‘,‘script‘]); //默认执行的任务,可以为多个,写成数组即可 27 28 // 监听文件变化 29 gulp.watch([‘learn-gulp/*.css‘, ‘learn-gulp/*.js‘], [‘css‘,‘script‘]); //找到src源,监听其是否变化,若变化根据src源找到对应task执行 30

坑一:必须局部安装gulp、gulp插件(node.js command prompt 运行,即node的命令行gulp相关命令)

坑二:任务名必须是string,且不能用gulp的关键字

坑三:不同的任务必须分开写,不能写在一个任务里(不然执行不了) 

 

Scales小谈gulp