首页 > 代码库 > Livereload介绍

Livereload介绍

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

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

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


gulpjs 实现 livereload

首先须要安装nodejs, 再安装 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

技术分享

就可以看到本地启动了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入门 (一个15分钟的介绍视频)

Livereload介绍