本篇主要是以 http://www.imooc.com/article/14759 为参考来写的:

已经整理到github上:https://github.com/Macaulish/gulp-BrowserSync-nodemon

1,使用 Browsersync 来进行浏览器同步测试

参考: http://www.browsersync.cn/#install
1)安装NodeJs,
2)安装BrowserSync (npm install -g browser-sync)
3)安装好之后,在控制台中键入:
  browser-sync start --server --files "css/*.css"(切记是双引号)
这样,当'css/*.css'文件有任何修改,就能看看到浏览器同步变化了。
^^^^^^^^^^以上初级教程,具体看文档http://www.browsersync.cn/docs/api/

2,结合 gulp 使用 Browsersync

参考:http://www.imooc.com/article/14759
1)全局安装gulp (npm install -g gulp);
2)全局安装BrowserSync (npm install -g browser-sync);
3)在项目目录下新建gulpfile.js,然后在gulpfile.js中定义一个任务,启动Browsersync:
const gulp = require('gulp');
// 调用.create() 意味着你得到一个唯一的实例并允许您创建多个服务器或者代理。
const browserSync = require('browser-sync').create();
// 定义一个服务,任务的名字,该任务所要执行的一些操作
gulp.task('watch',function(){
// 启动Browsersync服务。这将启动一个服务器,代理服务器(proxy)or静态服务器(server)
browserSync.init({
//设置监听的文件,以gulpfile.js所在的根目录未起点,如果不在根目录要加上路径,单个文件就用字符串,多个文件就用数组
files:['*.html','css/*.css','js/*.js'],
// 启动静态服务器,默认监听3000端口,设置启动时打开的index.html的路径
server:{
baseDir:'./'
},
// 在不同浏览器上镜像点击,滚动和表单,即所有浏览器会同步
ghostMode:{
clicks:true,
scroll:true
},
// 更改控制台前缀
logPrefix:'learning browser-sync in gulp',
// browser:['chrome','firefox','iexplore'],
// 设置监听时打开的浏览器,下面的设置会同时打开chrome
browser:['chrome','iexplore'],
// 设置服务监听的端口号
port:8080
})
})
4)在命令行中键入 gulp watch,执行任务就OK了。

具体可看:(Browser Reloading)  https://www.browsersync.io/docs/gulp/#gulp-reload

其中如果不知道.pipe()是什么请看:(readable.pipe(desination[,options]))https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options

3,Browsersync结合nodemon实现node.js项目全栈刷新

之前一直在自己做一个基于express框架的项目,用到了supervisor这个调试工具,每次服务器端js代码有修改,都会自动重启node.js,但是浏览器并不会自动刷新,我又想到了Browsersync。

要把Browsersync引进来 需要一个跟supervisor类似的工具:nodemon.

相比于supervisor,nodemon的优点包括:更轻量级,内存占用更小。使用更加方便,更容易扩展等。

在gulp中可以用gulp-nodemon来实现nodemon的功能,那么我们实现全栈刷新的工作就可以分为两步。

1,用gulp-nodemon启动node.js项目服务器。
2,在node.js项目启动后启动Browsersync,并监听相关文件的变化

>>>>>>>>我按照作者这个方法写过之后发现 实现不了,我再找找资料

使用browserSync自动刷新的更多相关文章

  1. gulp browser-sync自动刷新插件

    很久没弄gulp了,都快忘了,今天又来温习下browser-sync 自动刷新插件,在安装的时候出现以下提示: $ npm install browser-sync --save-dev> ws ...

  2. gulp+browserSync自动刷新页面

    BrowserSync “Browsersync能让浏览器实时.快速响应您的文件更改(html.js.css.sass.less等)并自动刷新页面.更重要的是 Browsersync可以同时在PC.平 ...

  3. express+gulp+gulp-nodemon+browser-sync自动刷新

    express自动生成项目.不在赘述 1.在项目根目录下新建终端,依次运行如下命令 npm install gulp --save-dev npm install gulp-nodemon --sav ...

  4. gulp自动刷新插件

    gulp自动刷新的插件很多,但是感觉最好用的还是 browser-sync 插件.如果不想用命令行,也可以使用 browser-sync界面工具 先安装 browser-sync 插件: npm in ...

  5. BrowserSync,调试利器--自动刷新(转

    ---恢复内容开始--- 请想象这样一个场面:你开着两个显示器,一边是IDE里的代码,另一边是浏览器里的你正在开发的应用.此时桌上还放着你的手机,手机里也是这个开发中的应用.然后,你新写了一小段代码, ...

  6. gulp+browserSync+nodemon 实现express 全端自动刷新的实践

    学习过程宝宝心里苦,不能怨政府.. 兴趣所致,一直放不下nodejs的学习,时隔多日,又把express捡起来打算重新再学学,一直没什么太大的长进,和实际的项目经验.真的醉了,太懒了. 今天在重新研究 ...

  7. 前端浏览器自动刷新神器:Browsersync

    [安装] 1 npm install -g browser-sync [静态项目使用browsersync] 自己可以去browsersync官网查看,其实使用很简单,总结下就是: 1 browser ...

  8. Browsersync结合gulp和nodemon实现express全栈自动刷新

    Browsersync能让浏览器实时.快速响应你的文件更改(html.js.css.sass.less等)并自动刷新页面.更重要的是 Browsersync可以同时在PC.平板.手机等设备下进项调试. ...

  9. 前端写代码自动刷新神器Browsersync

    Browsersync能让浏览器实时.快速响应您的文件更改(html.js.css.sass.less等)并自动刷新页面. 更重要的是 Browsersync可以同时在PC.平板.手机等设备下进项调试 ...

随机推荐

  1. myschool 1204

    http://oj.jxust.edu.cn/problem.php?id=1274 #include <iostream> #include <set> using name ...

  2. mathematica里面清除全部变量

    基本在一个独立代码开始都写: Clear["Global`*"]  (*Clear all variables*) 就可以了

  3. sdkbox 接facebook

    详情参见:http://sdkbox-doc.github.io/en/plugins/facebook/v3-js/#manual-integration 一步不落然后 *** Terminatin ...

  4. js技巧汇总

    1.window.open()打开一个子页面,在子页面关闭时刷新父页面 子页面关闭事件代码:window.opener.location.href=window.opener.location.hre ...

  5. python之基础补充

    一 bit,和bytes的关系 bit:就是计算机的最小的表示单位. bytes:就是计算机的最小的储存单位. 1  字节(bytes) = 8 位(bit) 格式: print(bytes('字符' ...

  6. 2018.10.15 NOIP训练 百事世界杯之旅(期望dp)

    传送门 期望题. 其实跟dpdpdp关系并不大. 考虑f[i]f[i]f[i]表示已经凑出了iii个需要的次数. 显然有:f[i]=ni∗f[i]+nn−i∗f[i+1]+1f[i]=\frac {n ...

  7. 2018.09.23 bzoj3143: [Hnoi2013]游走(dp+高斯消元)

    传送门 显然只需要求出所有边被经过的期望次数,然后贪心把边权小的边定城大的编号. 所以如何求出所有边被经过的期望次数? 显然这只跟边连接的两个点有关. 于是我们只需要求出两个点被经过的期望次数. 对于 ...

  8. 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录(转)

    出处:http://www.cnblogs.com/mienreal/p/4528470.html ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视 ...

  9. htoi的实现

    htoi的实现 /************************************************************************* > File Name: h ...

  10. java socket 之UDP编程

    一.概念 在TCP的所有操作中都必须建立可靠的连接,这样一来肯定会浪费大量的系统性能,为了减少这种开销,在网络中又提供了另外的一种传输协议——UDP,不可靠的连接(这种协议在各种聊天工具中被广泛使用) ...