之前一直听朋友谈起gulp,但没有使用过,最近有机会接触到,现在给大家分享下,不对的地方还请指正。我一直以为互相分享是学习的一种好方式。下面进入正题:

首先来了解下gulp,最起码要知道:我们为什么要学它,它的优势。gulp是前端开发过程中对代码进行构建的工具,它不仅能对网站资源进行优化,在开发过程中很多重复的任务能使用正确的工具自动完成;gulp是基于Nodejs的自动任务运行器,借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,gulp 的流操作,能更快地更便捷地完成构建工作。下面将学习如何使用gulp。

常用网址:

gulp官方网址:http://gulpjs.com
gulp插件地址:http://gulpjs.com/plugins
gulp 官方API:https://github.com/gulpjs/gulp/blob/master/docs/API.md
gulp 中文API:http://www.ydcss.com/archives/424

使用gulp大致步骤
先谈谈大致使用gulp的步骤。首先当然是安装nodejs,通过nodejs的npm全局安装和项目安装gulp,其次在项目里安装所需要的
gulp插件,然后新建gulp的配置文件gulpfile.js并写好配置信息(定义gulp任务),最后通过命令提示符运行gulp任务即可。
安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务

gulp 基于node,在此省略node的安装,列举下常用的简单命令

node -v (查看nodejs版本,确认nodejs安装正确)
npm -v (查看npm版本,npm和nodejs一起被安装)
cd (定位到目录)
dir (列出当前目录的文件)
cls (清空窗口)

npm介绍

npm(node package manager)nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)

使用npm安装插件:命令提示符执行npm install <name> [-g] [--save-dev]例:npm install gulp-minify-css --save-dev

-g:全局安装   非全局安装:将会安装在当前定位目录; 全局安装可以通过命令行在任何地方调用它,本地安装将安装在定位目录的node_modules文件夹下,通过require()调用。

--save:将保存配置信息至package.json(package.json是nodejs项目配置文件)

-dev:保存至package.json的devDependencies节点,不指定-dev将保存至dependencies节点

1.安装cnpm

npm安装插件过程:从http://registry.npmjs.org下载对应的插件包(该网站服务器位于国外,所以经常下载缓慢或出现异常)

因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,所以npm的服务器在中国就好了。来自淘宝官网:这是一个完整 npmjs.org 镜像,但仅限于只读,官方网址:http://npm.taobao.org

安装:命令提示符执行npm install cnpm -g --registry=https://registry.npm.taobao.org

注:cnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm(以下操作将以cnpm代替npm)

2.安装gulp

全局安装gulp目的是为了通过它执行gulp任务。
安装:命令提示符执行cnpm install gulp -g
查看是否正确安装:命令提示符执行gulp -v,出现版本号即为正确安装

3.新建package.json文件
说明:package.json是基于nodejs项目必不可少的配置文件,它是存放在项目根目录的普通json文件
它是类似这样一个json文件(注意:json文件内是不能写注释的)。

可以手动新建这个配置文件,也可以命令提示符执行cnpm init

 4.本地安装gulp插件

安装:定位目录命令后提示符执行cnpm install --save-dev

本示例以gulp-less为例(编译less文件),命令提示符执行cnpm install gulp-less --save-dev

将会安装在node_modules的gulp-less目录下,为了能正常使用,我们还得本地安装gulp:cnpm install gulp --save-dev

5.新建gulpfile.js文件

说明:gulpfile.js是gulp项目的配置文件,是位于项目根目录的普通js文件(其实将gulpfile.js放入其他文件夹下亦可)它大概是这样一个js文件

6.运行gulp

说明:命令提示符执行gulp 任务名称
压缩css:命令提示符执行gulp cssmin

以上为gulp使用的大致步骤,以及所需安的环境,希望大家可以受益,有问题希望留言。

Gulp-入门教程 搭配环境的更多相关文章

  1. (转)前端构建工具gulp入门教程

    前端构建工具gulp入门教程 老婆婆 1.8k 2013年12月30日 发布 推荐 10 推荐 收藏 83 收藏,20k 浏览 本文假设你之前没有用过任何任务脚本(task runner)和命令行工具 ...

  2. Gulp入门教程(转载)

    本人转载自: Gulp入门教程

  3. gulp ( http://markpop.github.io/2014/09/17/Gulp入门教程 )

    前言 最近流行前端构建工具,苦于之前使用Grunt,代码很难阅读,现在出了Gulp,真是摆脱了痛苦.发现了一篇很好的Gulp英文教程,整理翻译给大家看看. 为什么使用Gulp Gulp基于Node.j ...

  4. gulp环境搭建,gulp入门教程

    gulp常用地址: gulp官方网址:http://gulpjs.com gulp插件地址:http://gulpjs.com/plugins gulp 官方API:https://github.co ...

  5. Linux pwn入门教程(0)——环境配置

    作者:Tangerine@SAINTSEC 0×00前言 作为一个毕业一年多的辣鸡CTF选手,一直苦于pwn题目的入门难,入了门更难的问题.本来网上关于pwn的资料就比较零散,而且经常会碰到师傅们堪比 ...

  6. gulp入门教程(转)

    一.gulp简介     1.gulp是什么? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器:它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自 ...

  7. gulp入门教程(详细注解)

    本文转载自http://www.ydcss.com/archives/18 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很 ...

  8. gulp入门教程

    第1步:安装Node 首先,最基本也最重要的是,我们需要搭建node环境.访问 nodejs.org,下载完成后直接运行程序,就一切准备就绪.npm会随着安装包一起安装,稍后会用到它. 为了确保Nod ...

  9. 前端构建工具gulp入门教程(share)

    参考自:http://segmentfault.com/a/1190000000372547 资源: npm上得gulp组件 gulp的Github主页 官方package.json文档 gulp中文 ...

  10. 前端构建工具gulp入门教程

    本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp.不要怕,它其实很简单,我会分为五步向你介绍gulp并帮助你完成一些惊人的事情.那就直接开始吧. 第一步 ...

随机推荐

  1. HDU- 2265 Encoding The Diary

    Encoding The Diary Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  2. Authorized users only. All activity may be monitored and reported.

    Authorized users only. All activity may be monitored and reported. Directory: /home/oracle 如出现如上问题,是 ...

  3. c#自动更新+安装程序的制作

    一.自动更新的实现 让客户端实现自动更新,通常做法是在客户端部署一个单独的自动更新程序.主程序启动后,访问服务端,检查配置文件是否有更新版本,有更新版本就启动更新程序,由更新负责下载更新版本,并更新客 ...

  4. [SDJX2015]面积

    [问题描述:] 一个六边形的每个内角均为120°,按顺时针给定它每条边的长度,求它的面积与边长为1的等边三角形的面积的比值. [输入:] 一行六个整数a,b,c,d,e,f,表示六条边的长度. [输出 ...

  5. (转)Python:self

    原文:http://www.douban.com/group/topic/19376685/ 这是对前面一个php程序员问python方法为什么要手写一个self的回答,当时那个帖非常的热闹,但是下面 ...

  6. ReentrantLock Condition 实现消费者生产者问题

    import java.util.LinkedList; import java.util.Queue; import java.util.concurrent.ExecutorService; im ...

  7. UVA 10256 The Great Divide (凸包,多边形的位置关系)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34148 [思路] 凸包 求出红蓝点的凸包,剩下的问题就是判断两个凸 ...

  8. (转)在Mac下使用OpenCV, 在Xcode下使用OpenCV (非常基础,详细)

    转自:http://blog.sciencenet.cn/home.php?COLLCC=3456986939&COLLCC=3456885714&mod=space&uid= ...

  9. 解析Qt4.7.3编译MySql数据库驱动,存中文乱码、过滤转义字符问题

    问题:使用QSqlDataBase类建立连接MySql数据库驱动加载失败 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available ...

  10. Bitbucket Pull Request和fork

    本文参考了http://blog.jobbole.com/76854/   Pull Request在Forking工作流中使用,这个也同样适用于小团队的开发协作和第三方开发者向开源项目的贡献.当你要 ...