前端开发的时候,每次修改代码后,要移动鼠标到浏览器选中再刷新查看效果,不知觉间我们的加班的时间又增加了0.5s, 真是罪孽!所以在使用gulp之后,就一直对能自动监听文件刷新页面的browserSync插件虎视眈眈。在这里简单的介绍一下用法,只需要五步,希望对大家有所帮助。

browserSync是一款浏览器同步测试工具,可以单独使用,也可以插入在gulp、grunt等工作流里使用。点击官网了解更多。

Gulp + browserSync文档

Grunt + browserSync文档

step1: 在gulp中安装插件

npm install --save-dev browser-sync

step2: 在gulpfile中引入插件

var browserSync = require('browser-sync').create();
var reload = browserSync.reload;

step3: 启动browserSync任务,设置参数

browserSync之所以能实现多终端自动刷新测试,是因为他在你的局域网 IP 创建一个本地服务器,生成一个类似http://10.189.249.135:3002 的 URL,这样所有与你电脑处在一个局域网的设备,都可以访问到你本地的页面。

// 创建一个静态服务器
gulp.task('browser-sync', function() {
browserSync.init({
server: {
baseDir: "./"
}
});
}); //在原有服务器中代理
gulp.task('blowser-sync', function() {
browserSync.init({
proxy:"localhost" //"你的域名或IP"
});
}); //注意,要在运行需要运用到blowser-sync的任务前,运行他的启动任务。
gulp.task('default',['blowser-sync', 'build:css', 'watch']);

step4: 在文件流里插入

以下是一个编译处理css文件的任务,我们希望在每次文件生成后自动刷新页面。js文件同理。

gulp.task('build:css', function() {
gulp.src(['../css/less/*.less']) //引入文件
.pipe(less().on('error', function (e){
console.error(e.message);
this.emit('end');
}))
.pipe(minifycss())
.pipe(gulp.dest('../css/'))
.pipe(reload({stream: true})); // 在需要的地方插入reload(自动刷新)命令
});

step5: 监听html文件

gulp.watch('../views/*/*').on('change', reload);

到这里,整个插件配置就完成啦。每次运行gulp,终端会提示浏览器通过browserSync访问的网址,如下:(除了自动刷新功能外,browserSync还可以实现多终端同步操作。果然是我最爱的同步测试工具0)。

[BS] Access URLs:
--------------------------------------
Local: http://localhost:3000 //在本机上访问的url
External: http://192.168.3.101:3000 //在其他终端上访问的url
--------------------------------------
UI: http://localhost:3001
UI External: http://192.168.3.101:3001
--------------------------------------

gulp + browserSync 一起提高前端开发效率吧!的更多相关文章

  1. 提高前端开发效率的N种方法

    一.使用固定的html模板和css公共样式 事先把模板建好,每次需要用的时候直接拿来就行,不再需要为浏览器兼容问题考虑太多时间 这里我整理了一套,希望对大家有帮助:http://www.cnblogs ...

  2. 提高前端开发效率必备AngularJS (基础)

    简介 AngularJS 是一个为动态WEB应用设计的结构框架,提供给大家一种新的开发应用方式,这种方式可以让你扩展HTML的语法,以弥补在构建动态WEB应用时静态文本的不足,从而在web应用程序中使 ...

  3. 使用这些 CSS 属性选择器来提高前端开发效率

    属性选择器非常神奇.它们可以使你摆脱棘手的问题,帮助你避免添加类,并指出代码中的一些问题.但是不要担心,虽然属性选择器非常复杂和强大,但是它们很容易学习和使用.在本文中,我们将讨论它们是如何运行的,并 ...

  4. 提高 JavaScript 开发效率的高级 VSCode 扩展!

    原文:提高 JavaScript 开发效率的高级 VSCode 扩展! 作者:前端小智 Fundebug经授权转载,版权归原作者所有. Quokka.js Quokka.js 是一个用于 JavaSc ...

  5. 极大提高Web开发效率的8个工具和建议(含教程)

    面对复杂的 Web 应用的开发,良好的流程和工具支持是必不可少的,它们可以让日常的开发工作更加顺畅.更加高效.本文介绍了6个Web开发利器以及相关的教程,帮助你在开发.调试.集成和发布过程极大地提高效 ...

  6. iOS开发——实用篇&提高iOS开发效率的方法和工具

    提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时 ...

  7. 提高你开发效率的十五个Visual Studio 2010使用技巧

    提高你开发效率的十五个Visual Studio 2010使用技巧 相信做开发的没有不重视效率的.开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS.能够对一个IDE产生依赖,说明这个ID ...

  8. legend2---开发日志11(如何提高终极开发效率)

    legend2---开发日志11(如何提高终极开发效率) 一.总结 一句话总结: 实在没必要摸索着做,直接学了做,用专门的东西来做,岂不是要省时省事很多.岂不美哉. 1.vue中的滚动字幕动画效果如何 ...

  9. 通过Swagger文档生成前端service文件,提升前端开发效率

    在企业级的项目开发过程中,一般会采用前后端分离的开发方式,前后端通过api接口进行通信,所以接口文档就显得十分的重要. 目前大多数的公司都会引入Swagger来自动生成文档,大大提高了前后端分离开发的 ...

随机推荐

  1. pyhton 查找一个数的所有因子 以及 判断一个数是否是质数 两个小脚本

    最近看到一个网站, 欧拉计划.挺好玩,都是一些算法题.这是本站:http://projecteuler.net/problems 这个是中文站:http://pe.spiritzhang.com/ 下 ...

  2. .net常見面試題(一)

    2 .列举ASP.NET 页面之间传递值的几种方式. 答. 1).使用QueryString, 如....?id=1; response. Redirect()....                 ...

  3. MySQL WorkBench中文教程

    在网上找到了一份MySQL WorkBench的教程,点此可以下载Work Bench教程(原文),为了便于学习和交流,请朋友帮忙翻译成了中文,点此可以下载Work Bench教程(中文翻译版). 具 ...

  4. Uber入驻四川乐山峨眉地区

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  5. JavaFX 3D部分介绍(3) Lights

    声明:   本博客文章原创类别的均为个人原创,版权所有.转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客:http://www.wjfxgame.com. ...

  6. AX2012服务器配置--Windows Server 2012 配置远程桌面同一帐户允许多session同时登录

    网上找了很多关于设置远程桌面最大连接数的文章,大都是说先要到控制面板的管理工具中设置远程桌面会话主机等,大体和我之前的文章<设置WINDOWS SERVER 2008修改远程桌面连接数>里 ...

  7. <input type="radio" >与<input type="checkbox">值得获取

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  8. [R] Draw a wordcloud

    # 加载rJava.Rwordseg库 library(rJava); library(Rwordseg); library(RColorBrewer); # == 读入数据 lecture=read ...

  9. [rxjs] Throttled Buffering in RxJS (debounce)

    Capturing every event can get chatty. Batching events with a throttled buffer in RxJS lets you captu ...

  10. Mysql : L闪存卡linux中的内核参数设置

    将 Nytro WarpDrive 加速卡配置为文件系统 本节说明的操作使您可调整 Nytro WarpDrive 加速卡,增强使用 Oracle Linux with Unbreakable Ent ...