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

 

【安装】

1
npm  install  -g browser- sync

 

【静态项目使用browsersync】

本身能够去browsersync官网查看,其实使用很简单,总结下就是:php

1
browser- sync  start --server --files  "**/*.css, **/*.html, **/*.js"

cd到项目下,而后执行上面的方法便可,css

简单的说就是会监听该目录下的html,css,js变化,而后自动刷新页面html

 

【动态项目使用browsersync】

动态项目的意思,就是用java,php,nodejs跑起来的项目,同时又想监听html,css,js的变化,java

拿nodejs来讲,跑起一个端口9007的项目:node

1.png

而后用browsersync的proxy作代理,监听这个项目:express

2.png

代码:npm

1
browser-sync start --proxy  "localhost:9007"  --files  "static/**/*.css, static/**/*.js, views/**/*.html"

 

和静态项目的不一样点是:api

静态项目:用browsersync自带的server跑起来缓存

动态项目:用java,php,nodejs跑起来,而后经过代理监听项目静态资源bash

 

【browsersync】

若是每次输入命令行麻烦,能够用browsersync的api方式,

就是在项目下新建一个bs.js文件,而后内容以下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// require 加载 browser-sync 模块
var  bs = require( 'browser-sync' ).create();
 
// .init 启动服务器
bs.init({
     proxy   :  'localhost:9007' ,
     port    : 9017,
     ui      : {
         port: 9027
     },
     files   : [
         'static/**/*.css' ,
         {
             match: [ 'views/**/*.html' ],
             fn:     function  (event, file){
//              bs.reload();
             }
         }
     ]
});
 
// 如今请BS,而不是方法
// 主Browsersync模块出口
bs.reload( '*.html' );

启动的时候使用node bs.js便可

具体api查看:http://www.browsersync.cn/docs/api/

 

【end】

之后能够爽快的开发了~

 

*** nodejs express作项目遇到的问题:

用到了arttemplate当模版渲染,

发现每次修改html后,必须重启nodejs才能生效,

致使browsersync失效了,

后来就放弃了。

 

今天花了点时间找了下缘由,原来是arttemplate默认开启缓存致使,坑。

修改这个代码就行了:

1
template.config( 'cache' false );
相关文章
相关标签/搜索