[gulp入门]gulp-connect浏览器自动刷新

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

  实现原理:通过在本地开启一个websocket服务,检测文件变化,当文件被修改后触发livereload任务,推送消息给浏览器刷新页面。

  安装gulp-connect插件

  npm install gulp-connect

  配置代码?: 

 1 //定义依赖和插件
 2 var gulp = require('gulp'),
 3     uglify = require('gulp-uglify'),
 4     concat = require('gulp-concat'),
 5     rename = require('gulp-rename'),
 6     connect = require('gulp-connect');//livereload
 7    
 8 var jsSrc = 'src/js/*.js';
 9 var jsDist = 'dist/js';
10 
11 var htmlSrc = 'src/*.html';
12 var htmlDist = 'dist';
13 
14 //定义名为js的任务
15 gulp.task('js', function () {
16 
17     gulp.src(jsSrc)
18         .pipe(concat('main.js'))
19         .pipe(gulp.dest(jsDist))
20         .pipe(rename({suffix: '.min'}))
21         .pipe(uglify())
22         .pipe(gulp.dest(jsDist))
23         .pipe(connect.reload())
24 
25 });
26 
27 //定义html任务
28 gulp.task('html', function () {
29 
30     gulp.src(htmlSrc)
31         .pipe(gulp.dest(htmlDist))
32         .pipe(connect.reload());
33 
34 });
35 
36 //定义livereload任务
37 gulp.task('connect', function () {
38     connect.server({
39         livereload: true
40     });
41 });
42 
43 
44 //定义看守任务
45 gulp.task('watch', function () {
46 
47     gulp.watch('src/*.html', ['html']);
48 
49     gulp.watch('src/js/*.js', ['js']);
50 
51 });
52 
53 
54 //定义默认任务
55 gulp.task('default', [ 'js', 'html','watch', 'connect']);

 

  展示一下配置后的效果:

1.gulp启动任务后,可以看到终端显示在8080端口开启了一个http服务,而在35729端口开启了LiveReload服务,实际为一个WebSocket服务。

2. 打开页面,可以看到原始页面中插入了livereload的js文件。

3.在network中WS下可以看到WebSocket的消息。

4.当编辑代码发生变化时(Ctrl+S保存后),浏览器会收到消息,触发F5刷新页面的操作。

  

转载于:https://www.cnblogs.com/anywing/p/5311061.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值