初步接触gulp
首先是安装nodejs,通过nodejs的npm全局安装和项目安装gulp,其次在项目里安装所需要的gulp插件,然后新建gulp的配置文件gulpfile.js并写好配置信息(定义gulp任务),最后通过命令提示符运行gulp任务
1.安装node.js:https://nodejs.org/en/,再安装淘宝镜像,cnpm:npm install -g cnpm --registry=https://registry.npm.taobao.org
2.安装:命令提示符执行cnpm install gulp -g
3.本地安装:cnpm install gulp-less --save-dev cnpm install gulp --save-dev
我们全局安装了gulp,项目也安装了gulp,全局安装gulp是为了执行gulp任务,本地安装gulp则是为了调用gulp插件的功能(反正不安装会报错)
4.新建package.json文件,可以手工建立,也可以在控制台输入npm init 然后根据提示填完信息,会自动在该目录下生成一个package.json文件
6.继续在控制台安装所需的插件,如:npm install gulp-imagemin --save -dev //图片压缩插件
7.在项目根目录中新建gulpfile.js文件,然后往里面写入执行代码
var gulp = require('gulp'); //获取gulp
var browsersync = require('browser-sync').create();//获取browsersynvar
htmlmin = require('gulp-htmlmin'); //require()的作用感觉和python中的import相同,以后再研究
gulp.task('html', function() { //gulp.task定义任务,这里的html是任务名称,以后调用的时候可以用上,function()是任务要执行的代码,中间还有一个参数,是当前定义的任务需要依赖的其他任务,为一个数组。当前定义的任务会在所有依赖的任务执行完毕后才开始执行。如果没有依赖,则可省略这个参数
gulp.src('*.html') //gulp.src 获取流,一个虚拟文件对象流
.pipe(htmlmin({
collapseWhitespace: true, //压缩html
collapseBooleanAttributes: true, //省略布尔属性的值
removeComments: true, //清除html注释
removeEmptyAttributes: true, //删除所有空格作为属性值
removeScriptTypeAttributes: true, //删除type=text/javascript
removeStyleLinkTypeAttributes: true, //删除type=text/css
minifyJS:true, //压缩页面js
minifyCSS:true //压缩页面css
}))
.pipe(gulp.dest('dist'))
.pipe(browsersync.stream());
});
gulp.task('serve', ['clean'], function() {gulp.start('scripts','style','image','html');
browsersync.init({
port: 2016,
server: {
baseDir: ['dist']
}
gulp.watch('*.html', ['html']); //gulp.watch用来监视文件的变化,当文件发生变化后,我们可以利用它来执行相应的任务,第一个参数是监视的对象,最后一个是任务名称,是个数组
8.做完上面的步骤之后,可以运行了,学到了一招快速切换到项目目录的方法,不用cd。。。只要在目录空白处同时点击shift和鼠标右键,然后选择“在此处打开命令窗口”,就达到目的了,然后输入gulp,正常的话,可以在谷歌浏览器打开

9.然后尝试修改html文件,发现控制台有监控到文件变化,但是浏览器确没有自动刷新,好纳闷地又看了一遍代码,代码是copy下来的,半懂不懂

10.略失望,最后百度了下,找到了原因,加上完整的结构之后可以了,收工,哈哈,接下来要继续学习才行,真是太爱自动刷新这个功能了。

初步接触gulp的更多相关文章
- php大力力 [006节]初步接触认识phpMyAdmin
phpMyAdmin 2015-08-22 php大力力006. 初步接触认识phpMyAdmin 以下是phpAdmin网络截图: 这是通过MAMP一键安装的. php中MyAdmin的使用-猿代码 ...
- avalon - 初步接触
avalon - 初步接触 avalon的介绍http://rubylouvre.github.io/mvvm/ 按照作者的介绍,在HTML中添加绑定,在JS中用avalon.define定义View ...
- 初步接触CERNVM
初步接触的来源是对ROOT数据分析工具的搜索,看到一个叫做Life as a Physicist的国外博客.知道了这个包含容器分发的软件,跟重要的是,这个欧洲核子中心开发的平台,对于我等科研人员是一大 ...
- Spring boot -环境搭建 ,初步接触(1)
1. Eclipse 创建 maven project 项目目录如下: 2. pom.xml 配置文件 <project xmlns="http://maven.apache.or ...
- 为什么要使用puppet 及初步接触
为什么要使用puppet 及初步接触 1.简介 云计算环境下,密度高,机器数量多,还要求弹性和伸缩性,这对于运维提出更高的要求.系统管理员需要经常安装操作系统,对系统参数进行配置和优化,对人员进行 ...
- C#初步接触
如同非常多刚開始学习的人一样,刚接触C#的时候,也是一头雾水,学习了好长时间,都搞不清楚一些基本名称是什么.什么是C#?什么是.net?什么是visual studio?它们之间有什么关系?以下我们就 ...
- 初步接触html心得
接触HTML大概有七天,做一下小总结,过过记忆. html大致可分为三部分:Dtd头.Head.Body三大部分. Dtd头:是用于浏览器编辑的,也就是俗话说的给电脑看的的东西. Head:内细分下大 ...
- 实验记录一 初步接触cortex-M3
应该说老早就在接触cortex-M3了.曾经没想到会接触嵌入式,结果由于导师的缘故.在选择项目管理时,就呵呵了.不废话.搭配环境非常easy,纯粹傻瓜式.可由于自己的马虎,却让自己一直困惑. 记得在前 ...
- java_web学习(四) 二维表的制作(初步接触MVC)
我们需要做一个jsp页面,动态显示信息表的内容. 一.需求分析 1. 做一个实体类:StudentInfo (包含4个字段) 2. 如图模拟生成3条数据,本质上就是new StudentInfo ...
随机推荐
- 浅谈Linux文件与目录权限
作为一个程序员,在工作的过程中或多或少都会接触都Linux,那么对于权限这块肯定有所了解,今天有空想谈谈觉得比较绕的权限问题,即文件权限与目录权限 1.文件权限,对于文件权限这个是比较简单的,也很容易 ...
- oracle 11g 安装步骤
指定安装路径 输入数据库名(cwbpm),(按照自己要求输入,可以直接用默认库名) 输入密码(自定义):123456 (自定义密码) 下一步 选择“是” 点击完成,开始安装数据库 安装完成后会弹出页面 ...
- 【DOM练习】淘宝购物车
HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...
- 5.list集合添加姓名{张三,李四,王五,二丫,钱六,孙七},将二丫替换为王小丫, 写入到"D:\\stuinfo.txt"
package cn.it.text; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayLis ...
- 叮咚,你的Lauce上线了!
哈,2014 - 2016 - 2018,虽然每隔两年才有那么一篇随笔,博客园,我还是爱你的~ 嗯,2018,马上又要失业了,我这是自带黑属性啊啊啊哈,工作了4年多的项目要被砍掉了, 倒不是说非要这个 ...
- CentOS7开放端口号
查看所有开放的端口号 firewall-cmd --zone=public --list-ports 或者 firewall-cmd --permanent --list-ports(--perman ...
- ASP.NET之虚方法
1.虚方法关键字? Virtual 2.虚方法运行的周期? 虚函数在编译期间是不被静态编译的,它的相对地址是不确定的,它会根据运行时对象实例来动态判断要调用的函数,其中那个申明时定义的类叫申明类,执行 ...
- 打印word文档时遇到标记区如何取消
故障描述:word页面显示正常,打印以及打印预览的时候,页面上会出现部分暗色区域(标记区) 故障原因:简单标记惹的祸 解决办法:word菜单栏-审阅-简单标记 ...
- python coroutine
1. Python Async/Await入门指南 2. 用 Python 3 的 async / await 做异步编程 3.
- 数据服务器------sql
服务器:能够在网站中提供各种(浏览网页,收发邮件视频,语言)等服务器的软件与硬件集合. 数据库服务器(软件):(特点:永久海量存储数据:高速的查询){所有其他软件没有的特点} 数据库服务器分类 网状数 ...