gulp简介

gulp是基于流的自动化构建工具,也就是说gulp是通过操作流实现自动编译,压缩文件等操作的。这得益于node.js对流的支持,当然gulp.js和构建的任务文件都是JavaScript编写的。

安装方法:

$ npm install -g gulp  //全局安装
$ npm install --save-dev gulp //本地安装,只是开发版的依赖

设置自动化任务:

创建一个gulpfile.js文件,这个文件里面放置我们要设置的任务。文件里的代码大概是这个样子的。

// 模块引用
var gulp = require('gulp');
//设置任务
gulp.task('task1',function () {
console.log('task1 is completed!');
});

然后我们在控制台执行任务

$ gulp task1
// 打印结果如下
[20:45:22] Using gulpfile E:\apersonal-project\exercise\gulpfile.js
[20:45:22] Starting 'task1'...
task1 is completed!
[20:45:22] Finished 'task1' after 267 μs

我们刚刚执行完task1任务,这个任务只是打印了一句话。gulp有丰富的插件库 ,我们可以使用上面的插件实现我们想要的功能。

browser-sync介绍

browser-sync是一个十分好用的浏览器同步测试工具。

优点:

1、它能监听文件的更改并且自动刷新页面,节省了调试页面的时间,尤其是做移动端的响应式开发的时候;

2、CSS动态注入,不用刷新整个页面,想想做单页应用时,如果有链式动画的话,有了这个神器会有多爽;

3、可以架设静态服务器,如果我们有本地服务器,它也支持使用代理的方式。

guop+browser-sync使用方法

browser-sync并不算是gulp的一个插件,但是通过gulp可以直接使用browser-sync。

browser-sync有两种使用方式,架设静态服务器或者使用代理。

  1. 安装准备
$ npm install -g gulp  //全局安装
$ npm install --save-dev gulp //本地安装,只是开发版的依赖
// 安装插件
$ npm install --save-dev browser-sync

2、设置gulpfile.js文件

这里先说一下例子中的目录结构,根目录是exercise,里面有一个blink文件夹和gulpfile.js文件,blink文件夹下有一个blink.html。

  • [X] exercise

    • [x] blink

      • [x] blink.html
    • [x] gulpfile.js
  • 设置任务---架设静态服务器的方法

// 安装依赖
var gulp = require('gulp'),
browserSync = require('browser-sync');
// 设置任务---架设静态服务器
gulp.task('browser-sync', function () {
browserSync.init({
files:['**'],
server:{
baseDir:'./', // 设置服务器的根目录
index:'blink/blink.html' // 指定默认打开的文件
},
port:8050 // 指定访问服务器的端口号
});
});

最后执行任务,浏览器会自动打开blink.html页面,而且当你更改blink.html页面内容时,无需手动刷新,页面会自动更新。

$ gulp browser-sync

效果图

  • 设置任务---使用代理、
// 安装依赖
var gulp = require('gulp'),
browserSync = require('browser-sync');
// 设置任务---使用代理
gulp.task('browser-sync', function () {
browserSync.init({
files:['**'],
proxy:'localhost', // 设置本地服务器的地址
port:8080 // 设置访问的端口号
});
});

使用代理的方式需要注意,本地服务器不能是编辑器内置的服务器,只能是自己搭建的服务器,否则会无法访问。

gulp+browser-sync使用方法的更多相关文章

  1. web页面实时刷新之browser sync

    web开发对实时刷新的需求 在刚开始学习前端时每次修改文件内容后都需要手工刷新下浏览器来看效果,做的次数多了就特别难受,有时仅仅修改了一个字母都需要刷新下页面查看 之后接触到编写边看的集成IDE,文件 ...

  2. nodejs编译sass模块包 node-compass,与gulp包gulp-sass使用方法

    简介:node express或者就是node项目中,要自动编译sass方法很多,比如gulp 比如考拉,比如今天我想说的这个包node-compass. 编译sass的三种方法: 前提条件: 都需要 ...

  3. [转载]jQuery 1.9 移除了 $.browser 的替代方法获取浏览器类型

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...

  4. jQuery 1.9 移除了 $.browser 的替代方法

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...

  5. vscode中执行gulp task的简便方法

    本文重点是gulp在vscode中执行task任务的方法 如何像webstorm那样简便操作gulp 的task 第1步:安装node.下载地址:https://nodejs.org/zh-cn/ 检 ...

  6. jQuery1.9 $.browser 的替代方法

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...

  7. jQuery 1.9使用$.support替代$.browser的使用方法

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support jQuery 从 1.9 版开始,移除了 $.browser ...

  8. gulp脚本编写方法

    建立一个gulpfile.js文件,内容直接抄gulp-htmlmin的readme: var gulp = require('gulp'); var htmlmin = require('gulp- ...

  9. Gulp 方法

    Gulp有5个基本方法:src.dest.task.run.watch Gulp.src()      gulp模块的src方法,用于产生数据流.它的参数表示索要处理的文件,一般有以下几种形式: js ...

  10. gulp的使用以及Gulp新手入门教程

    Gulp新手入门教程 原文  http://w3ctrain.com/2015/12/22/gulp-for-beginners/ Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭 ...

随机推荐

  1. android studio 更新失败解决办法

    在andriod studio目录下找到studio.exe.vmoptions这个文件,用记事本打开,在后面加上 -Djava.net.preferIPv4Stack=true -Didea.upd ...

  2. 已知从BUF开始存放了10个字类型有符号数据,编程求出这10个数中的最大数和最小数(将最大数存入MAX字单元、最小数存入MIN字单元),并将其以10进制数的形式在屏幕上显示出来。

    data segment            pmax db 0dh,0ah , 'MAX :   ','$'    pmin db 0dh,0ah , 'MIN :   ','$'    buf ...

  3. Linux内核探索之路——关于方法

    转载自:http://blog.chinaunix.net/uid-20608849-id-3014502.html   Linux内核实践之路 -给那些想从Linux内核找点乐趣的人 一个不能回避的 ...

  4. 在Eclipse中配置tomcat

    为了在Eclipse中进行struts2的测试,才发现自己机器上的Eclipse没有集成Tomcat,在网上找了半天,不是这个插件没有下载地址,就是那个有好多注意事项或者版本问题. 结果,自己到tom ...

  5. sqlserver 设置外键

    CREATE TABLE Orders ( O_Id int NOT NULL, OrderNo int NOT NULL, Id_P int, PRIMARY KEY (O_Id), FOREIGN ...

  6. UVa 750 - 8 Queens Chess Problem

    题目大意:八皇后问题,在一个8*8的棋盘上,放置8个皇后,使得任意两个皇后不在同一行上.不在同一列上.不在同一条对角线上,不过这道题预先给定了一个位置放置一个皇后,让你输出所有可能的答案. 经典的回溯 ...

  7. gridview里item是textView、Button单击事件相应,以及按下效果的取去除

    1.响应事件的区别: gridview的item是textView的时候,gridview的itemonclick事件可以正常相应,但是换了Button后不能,原因如下: public class B ...

  8. plupload 异步上传插件使用心得

    plupload 可以不依赖jquery,并且提供了 html5,flash,silverlight,html4 多种上传模式,使用起来比较简单,上一篇博客中介绍了其主要参数哈函数 一.简化用法 &l ...

  9. nginx集群tomcat

    一.准备工作 下载nginx,http://nginx.org/,本文采用nginx-1.8.0,下载之后直接解压,免安装 下载tomcat,以配置3台tomcat服务器做负载均衡为例 二.修改tom ...

  10. Strut、Spring、Hibernate如何实现资源整合(SSH)呢?

    Strut.Spring.Hibernate如何实现资源整合(SSH)呢? 其实很简单,我们从Spring与Hibernate的整合中可以看出来,由Spring的配置文件来管理Hiberbate的配置 ...