Gulp介绍及安装使用教程
一、简介
gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器,不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成,使用她,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率。
gulp是基于Nodejs的自动任务运行器,她能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。在实现上,她借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单。
gulp 和 grunt 非常类似,但相比于 grunt 的频繁 IO 操作,gulp 的流操作,能更快地更便捷地完成构建工作。
二、安装node.js
2.1、说明:gulp是基于nodejs,理所当然需要安装nodejs;
2.2、安装:打开nodejs官网(https://nodejs.org/en/),点击硕大的绿色Download按钮,它会根据系统信息选择对应版本(.msi文件)。
注:安装完成之后注意将其配置到环境变量(系统变量path中),这样你就可以在全局范围内去使用它了
2.3、测试:按window + r 输入cmd回车,然后输入node -v
如果都能打印出相应版本信息,那么说明你配置成功了
三、选装cnpm
因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事。
安装:命令提示符执行
npm install cnpm -g --registry=https://registry.npm.taobao.org;
注意:安装完后最好查看其版本号cnpm -v或关闭命令提示符重新打开,安装完直接使用有可能会出现错误;
将路径C:\Users\asus\AppData\Roaming\npm\node_modules\cnpm配置到环境变量中,这样就可以在全局范围内使用cnpm命令了
注:cnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm(以下操作将以cnpm代替npm)
四、全局安装gulp
在cmd中执行 :
cnpm install gulp -g
查看是否正确安装:命令提示符执行gulp -v,出现版本号即为正确安装!
注意配置环境变量(C:\Users\asus\AppData\Roaming\npm\gulp)
五、新建package.json文件
进入自己需要的一个文件夹中:
cd F:\workspace\gulp
创建package.json文件:
cnpm init
在路径 下会形成这样的一个.json文件(部分内容为后添加的)
{
"name": "gulptest",//项目名称(必须)
"version": "0.0.1",//项目版本(必须)
"description": "这是一个gulp的测试程序",//项目描述(必须)
"homepage": "", //项目主页
"main": "index.js",//入口文件
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [//关键词
"gulp"
],
"author": "wuxunxun007",//作者
"license": "ISC"//项目许可协议
"devDependencies": { //项目依赖的插件
"gulp": "^3.8.11",
"gulp-less": "^3.0.0"
}
}
查看package.json帮助文档,命令提示符执行:
cnpm help package.json
六、本地安装gulp插件
安装:定位目录命令后提示符执行:
cnpm install gulp --save-dev;
gulp-less为例(编译less文件),命令提示符执行:
cnpm install gulp-less --save-dev;
七、附录
10个常用指令:
gulp-htmlmin:压缩html文件
gulp-imagemin:压缩图片
imagemin-pngquant:深度压缩png图片
gulp-cache:只压缩修改的图片
gulp-minify-css:压缩CSS文件
gulp-make-css-url-version:给css文件引用文件加版本号(文件MD5)
gulp-rev-append:通过正则(?:href|src)=”(.*)[?]rev=(.*)[“]查找并给指定链接填加版本号(默认根据文件MD5生成,因此文件未发生改变,此版本号将不会变)
gulp-uglify:使用gulp-uglify压缩javascript文件,减小文件大小
gulp-concat:使用gulp-concat合并javascript文件,减少网络请求
gulp-autoprefixer:根据设置浏览器版本自动处理浏览器前缀。使用她我们可以很潇洒地写代码,不必考虑各浏览器兼容前缀。【特别是开发移动端页面时,就能充分体现它的优势。例如兼容性不太好的flex布局。】
Gulp介绍及安装使用教程的更多相关文章
- Anaconda介绍、安装及使用教程
https://www.jianshu.com/p/62f155eb6ac5 Anaconda介绍.安装及使用教程 Python是一种面向对象的解释型计算机程序设计语言,其使用,具有跨平台的特点,可以 ...
- Apache Solr 初级教程(介绍、安装部署、Java接口、中文分词)
Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...
- ActiveMQ学习教程/1.简要介绍与安装
ActiveMQ学习教程(一)——简要介绍与安装 一.名词: 1.JMS:即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的 ...
- Docker的介绍与安装教程
基于Windows系统下docker的介绍与安装教程以及更换docker镜像源教程 目录 基于Windows系统下docker的介绍与安装教程以及更换docker镜像源教程 Docker的核心概念 D ...
- Linux+Redis实战教程_day01_Linux介绍与安装
1.Linux介绍(了解) 1.1.Linux和Windows的区别 Linux是一款操作系统.正规开发 服务器项目部署都是放在Linux操作系统上. Windows一款操作系统,民用操作系统.娱乐. ...
- [转载]TFS安装配置教程
最近公司新开发一个项目要用微软的TFS2013进行项目的源代码管理,以前只是用过SVN,从来没有用过TFS,所以在网上百度.谷歌了好一阵子来查看怎么安装和配置,还好花了一天时间总算是初步的搞定了,下面 ...
- 在RedHat.Enterprise.Linux_v6.3系统中安装Oracle_11gR2教程
在RedHat.Enterprise.Linux_v6.3系统中安装Oracle_11gR2教程 本教程提供PDF格式下载: 在RedHat.Enterprise.Linux_v6.3系统中安装Ora ...
- Notepad++ Emmet安装方法教程
Notepad++ Emmet安装后出现 unknown exception提示插件无效Python Script Plugin did not accept the script.以下为记录解决方法 ...
- [分享]Ubuntu12.04安装基础教程(图文)
[分享]Ubuntu12.04安装基础教程(图文) 原文地址: http://teliute.org/linux/Ubsetup/lesson21/lesson21.html 1.进入 live cd ...
随机推荐
- django框架5
内容概要 模板语法之过滤器(类似于内置函数) 模板语法之标签(类似于流程控制) 自定义过滤器.标签.inclusion_tag 模板的导入 模板的继承 注释语法补充 前期数据准备(测试环境搭建) al ...
- 机器学习-学习笔记(二) --> 模型评估与选择
目录 一.经验误差与过拟合 二.评估方法 模型评估方法 1. 留出法(hold-out) 2. 交叉验证法(cross validation) 3. 自助法(bootstrapping) 调参(par ...
- 全球共有多少MySQL实例在运行?这里有一份数据
摘要 Shadowserver Foundation在5月31日发布了一份全网的MySQL扫描报告,共发现了暴露在公网的360万个MySQL实例.因为这份报告基数够大,而且信息也非常完整,从数据库专业 ...
- java编程用大小写字母及数字输出五位数验证码
package day08; import java.util.Random;//导入util下的Random包 public class Yanzhengma { public static voi ...
- Python中的逻辑表达式
首先要明确一点,Python的逻辑运算符,可以用来操作任何类型的表达式(不局限于Bool类型),且运算后的结果也不一定是Bool类型的,而是其左右其中一个表达式的值 表达式1 and 表达式2 pyt ...
- JavaScript中DOM查询封装函数
在JavaScript中可以通过BOM查询html文档中的元素,也就是所谓的在html中获取对象然后对它添加一个函数. 常用的方法有以下几种: ①document.getElementById() 通 ...
- UiPath选择器之动态选择器的介绍和使用
一.动态选择器的介绍 使用通配符, 能够替换字符串中的零个或多个字符的符号.这些在处理选择器中的动态更改的属性时非常有用. 二.动态选择器在UiPath中的使用 1.在设计库中新建一个Sequence ...
- labelimg使用指南
labelimg使用指南 From RSMX - https://www.cnblogs.com/rsmx/ 目录 labelimg使用指南 1. 确保已经安装了 Python 环境 2. 使用pip ...
- nginx启动失败/报错(bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket...permissions) nginx启动失败
出现这个问题是因为80端口被占用了 1.cmd输入命令netstat -aon|findstr "80" 2..查看80端口 16356对应的任务 输入命令 tasklist|fi ...
- c# 通过反射,字符串 转换 类
eg:已经知道字符串 "userInfo"是一个表名,并且在代码中也有自己的userInfo类,如何把这个字符串"userInfo" 转换成类, "u ...