首页 > 代码库 > Livereload介绍

Livereload介绍

查看原文: http://lufeng.me/livereload

**Livereload**可理解为即时刷新,在前端开发中,开发者在编写或调试html/js/css代码后需要从编辑器切换到浏览器,再刷新浏览器才能看到页面变化,这种十分频繁的操作在一定程度上影响了工作效率,而Liverelod可以帮助我们ad解决了这个问题。


实现livereload有多种方式,可以借助[Livereload](http://livereload.com/)软件加浏览器插件实现,也可以借助nodejs,通过gulp或者grunt这些task runner实现,但其基本原理都是一样的,即通过在本地开启一个websocket服务,检测文件变化,当文件被修改后触发livereload任务,推送消息给浏览器刷新页面。


在众多的实现方法中,相比nodejs代码实现,使用其他软件或浏览器插件显然没有必要,这里介绍gulp的实现方式,个人认为是比较简单快捷的方式。


---


##gulpjs 实现 livereload
首先需要[安装nodejs](http://nodejs.org/), 再安装 gulp, gulp-connect 模块


```
  $ sudo npm install -g gulp //全局安装gulp模块
```


切换到项目根目录下


```
  $ mkdir ~/gulptest && cd ~/gulptest
  $ npm init
  $ npm install --save-dev gulp gulp-connect
  $ touch gulpfile.js
```


在项目根目录下需要有**gulpfile.js**这个文件


```
var gulp = require(‘gulp‘),
  connect = require(‘gulp-connect‘);


gulp.task(‘connect‘, function() {
  connect.server({
    root: ‘app‘,
    livereload: true
  });
});


gulp.task(‘html‘, function () {
  gulp.src(‘./app/*.html‘)
    .pipe(connect.reload());
});


gulp.task(‘watch‘, function () {
  gulp.watch([‘./app/*.html‘], [‘html‘]);
});


gulp.task(‘default‘, [‘connect‘, ‘watch‘]);


```


建立gulpfile.js文件后在根目录下运行命令:


```
  $ gulp
  
```
![image](http://webtest.qiniudn.com/gulpstart.png)


即可看到本地启动了web server和livereload server,现在打开http://localhost:8080 编辑html文件保存后就可以看到浏览器自动刷新。


---


##使用yoeman generator生成已经整合livereload功能的项目脚手架


安装yeoman和相应的generator(generator-gulpx)


```
  $ sudo npm install -g yo generator-gulpx
```


新建项目


```
  $ mkdir ~/yogulpx/ && cd ~/yogulpx
  $ sudo yo gulpx
  $ gulp


```


可以看到借助yeoman generator可以很方便的构建项目,推荐使用


---


推荐观看:
[gulp入门](http://tagtree.tv/gulp) (一个15分钟的介绍视频)