安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务

1、去nodejs官网安装nodejs

2、打开命令行,OSX是终端,windows是命令提示符(window + r 输入cmd回车)

3、使用npm(nodejs的包管理器),或选装cnpm执行npm install cnpm -g --registry=https://registry.npm.taobao.org

4、全局安装gulp:(c)npm install gulp -g

5、新建package.json到项目根目录【非必选】(josn文件需删除注释,此用来记录项目信息和配置初始插件)

 {
"name": "test", //项目名称(必须)
"version": "1.0.0", //项目版本(必须)
"description": "This is for study gulp project !", //项目描述(必须)
"homepage": "", //项目主页
"repository": { //项目资源库
"type": "git",
"url": "https://git.oschina.net/xxxx"
},
"author": { //项目作者信息
"name": "surging",
"email": "surging2@qq.com"
},
"license": "ISC", //项目许可协议
"devDependencies": { //项目依赖的插件
"gulp": "^3.8.11",
"gulp-less": "^3.0.0"
}
}

6、本地项目安装,命令行定位项目目录后执行:(c)npm install --save-dev(根据package.json的配置,安装组件到项目)

  若忽略第五步,则这里只执行:(c)npm install gulp --save-dev(仅安装gulp到项目)

7、安装需要的gulp组件(绿色部分为需要安装的组件)另sass编译需提前安装ruby。(如第五步配置完成,此步忽略)

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

8、新建gulpfile.js【必选重要】

 /*!
* gulp
* $ npm install gulp-sass gulp-autoprefixer gulp-minify-css gulp-css-spriter gulp-jshint gulp-uglify gulp-imagemin gulp-rename gulp-concat gulp-htmlmin gulp-notify gulp-cache gulp-livereload --save-dev
*/
// 加载插件
var gulp = require('gulp'),//加载gulp
sass = require('gulp-sass'),//编译sass
autoprefixer = require('gulp-autoprefixer'),//补全浏览器前缀
minifycss = require('gulp-minify-css'),//压缩css为min
spriter = require('gulp-css-spriter'),//图片合并css精灵
jshint = require('gulp-jshint'),//js查错
uglify = require('gulp-uglify'),//压缩js
imagemin = require('gulp-imagemin'),//压缩图片
rename = require('gulp-rename'),//重命名gulp
concat = require('gulp-concat'),//合并js
html = require('gulp-htmlmin'),//压缩HTML
notify = require('gulp-notify'),//显示信息
cache = require('gulp-cache'),//压缩图片过滤(仅修改图片压缩)
livereload = require('gulp-livereload');// 网页自动刷新 //处理样式
gulp.task('styles', function() { var timestamp = +new Date();
return gulp.src('style/**/*.scss')//表示css及子文件夹中的所以文件
.pipe(sass())
.pipe(autoprefixer({browsers:['last 3 versions','ie >= 10','ie_mob >= 10','ff >= 30','chrome >= 34','safari >= 6','opera >= 12.1','ios >= 6','android >= 4.4','bb >= 10','and_uc 9.9']}))//支持浏览器种类
.pipe(rename({ suffix: '.min' }))//重命名加min后缀
// .pipe(spriter({
// 'spriteSheet': 'images/sprite'+timestamp+'.png',// 生成的spriter的位置
// 'pathToSpriteSheetFromCSS': '../images/sprite'+timestamp+'.png'// 生成样式文件图片引用地址的路径,如:backgound:url(../images/sprite20324232.png)
// }))
.pipe(minifycss({keepBreaks: true}))//分行显示
.pipe(gulp.dest('css'))//保存到指定目录
.pipe(notify({ message: 'Styles task complete' }));//打印信息
}); ////图片精灵
//gulp.task('spriter',function() {
// var timestamp = +new Date();
// //需要自动合并雪碧图的样式文件
// return gulp.src('css/*.css')
// .pipe(spriter({
// // 生成的spriter的位置
// 'spriteSheet': 'images/sprite'+timestamp+'.png',
// // 生成样式文件图片引用地址的路径,如:backgound:url(../images/sprite20324232.png)
// 'pathToSpriteSheetFromCSS': 'images/sprite'+timestamp+'.png'
// }))
// .pipe(minifycss())
// .pipe(gulp.dest('css'));
//}); //处理js
gulp.task('scripts', function() {
return gulp.src('script/**/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'))
//.pipe(concat('all.js'))
.pipe(rename({ suffix: '.min' }))
.pipe(uglify())
.pipe(gulp.dest('js'))
.pipe(notify({ message: 'Scripts task complete' }));
}); //处理图片
//gulp.task('images', function() {
// return gulp.src(['pic/**/*.png','pic/**/*.jpg'])
// .pipe(cache(imagemin({ optimizationLevel: 5, progressive: true, interlaced: true })))
// .pipe(gulp.dest('images'))
// .pipe(notify({ message: 'Images task complete2' }));
//}); //默认执行
gulp.task('default', function() {
gulp.start('styles', 'scripts');
}); // 监测变更执行gulp
gulp.task('watch', function() {
gulp.watch('style/**/*.scss', ['styles']);//处理样式
gulp.watch('script/**/*.js', ['scripts']);//处理js
//gulp.watch('pic/**', ['images']);//处理图片
// Create LiveReload server
livereload.listen();
// Watch any files in assets/, reload on change
gulp.watch(['style/**/*.scss','script/**/*.js']).on('change', livereload.changed);
});

9、执行gulp,命令行指定项目目录后执行:gulp+回车=进行单次编译

10、gulp watch监听文件修改自动执行,Ctrl+C停止监听

以上内容来自网络整理及实际操作,如有不当欢迎讨论

gulp学习笔记2-安装的更多相关文章

  1. gulp学习笔记4

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 之前的任务都是单个的,比较简单.接下去我们开始引用多个插件,一次性把任务搞定,省 ...

  2. gulp学习笔记1

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.安装gulp 首先我们需要node环境,nodejs安装这里就不说了,不懂的 ...

  3. gulp学习笔记2

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1. 压缩 CSS 压缩 css 代码可降低 css 文件大小,提高页面打开速度 ...

  4. gulp学习笔记3

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.编译sass Sass 是一种 CSS 的开发工具,提供了许多便利的写法,大 ...

  5. CentOS学习笔记--Tomcat安装

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  6. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

  7. 前端自动化构建工具 gulp 学习笔记 一、

    一.我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并.压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表. 官方解说是:基于流的自动化构 ...

  8. CUBRID学习笔记 2 安装教程

    下载地址  http://www.cubrid.org/?mid=downloads&item=any&os=detect&cubrid=9.3.0 选择适合你的服务器版本 l ...

  9. nodejs学习笔记<一>安装及环境搭建

    零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ...

  10. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

随机推荐

  1. 安装php时的配置选项

    ./configure --prefix=/home/samba/anthony/web --enable-mbstring --enable-fastcgi --enable-fpm --with- ...

  2. init.php 建立自己的前端共享文件

    文件位置:include/init.php 1.新建文件lib_xxx.php(lib_liangxin.php) 2.在文件init.php 第74行加入代码 require(ROOT_PATH . ...

  3. js获取某个ID的class名称

    .HTML结构 <div id = "test" class="test_class">我的类名为test_class</div> &l ...

  4. OC-self关键字

    self关键字 1. 成员变量和局部变量同名 当成员变量和局部变量同名时,采取就近原则,访问的是局部变量 用self访问成员变量,区分同名的局部变量 2.使用细节 1)     出现的地方:所有的OC ...

  5. C-指针

    //格式:变量类型 *变量名//定义了一个指针变量p//指针变量只能存储地址//指针就一个作用:能够根据一个地址值,访问对应的存储空间//指针变量p前面的int:指针变量p只能指向int类型的数据in ...

  6. Redis安装及主从配置(转)

    一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...

  7. jquery取消选择select下拉框

    有三个select下拉框一个大类,两个小类隐藏,需要在选择大类的时候,小类显示同时清除另外的小类选择的项这需求有点儿.......... 下面是三个select: <select name=&q ...

  8. [Angularjs]常见api函数

    写在前面 在angularjs中提供了一些常用的函数,比如angular.lowercase(),angular.uppercase(),angular.isString(),angular.isNu ...

  9. Spring实战 (第3版)——依赖注入

    首先弄明白几个概念: 1.什么是POJO 2.JavaBean规范 3.EJB(Enterprise JavaBean) 体会Spring如何简化Java开发. 创建应用对象(组件)之间协作关系的行为 ...

  10. 浙大PAT-1002

    1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式 ...