通过Gulp使用Browsersync实现浏览器实时响应文件更改
Gulp是什么鬼
Gulp是一种基于node.js的构建工具,有关构建工具的概念请移步什么是构建工具
Gulp的安装及基本使用,可参考一点| gulp详细入门教程,写得十分6,通俗易懂
Browsersync又是什么鬼
Browsersync可以让浏览器实时响应所做的文件更改,包括html, js, css, less, sass等,并自动刷新页面
而且可以在多个浏览器、多个设备(PC、平板、手机等)下同时进行调试,是提高开发效率的利器
如何安装使用Browsersync
官网上有各种安装使用方式,这边我用gulp
安装
1.全局安装
npm install -g browser-sync
2.在本地项目目录下安装,同时装一下gulp跟gulp的插件(如果有用到gulp插件的话,比如gulp-less)
npm install browser-sync --save-dev
npm install gulp --save-dev
npm install gulp-less --save-dev
使用
1.配置gulpfile.js
在项目根目录底下新建文件gulpfile.js,然后填入内容:
//引入gulp、gulp插件以及browser-sync
var gulp = require('gulp'),
browserSync = require('browser-sync').create(),
less = require('gulp-less');
//创建一个新的gulp任务
gulp.task('serve',['less'],function(){
//初始化项目跟目录为'./'(也可以使用代理proxy: "yourlocal.dev")
browserSync.init({
server: './'
});
//创建gulp监听器,监听less文件的变化,自动执行'less'任务,编译less并生成css文件
gulp.watch('./less/*.less', ['less']).on('change', function(event){
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});
//监听html文件的变化,自动重新载入
gulp.watch('./*.html').on('change', browserSync.reload);
});
//创建自动编译less的任务,这边需要return stream以保证browserSync.reload在正确的时机调用
gulp.task('less', function(){
return gulp.src('./less/*.less')
.pipe(less())
.pipe(gulp.dest('./css'))
.pipe(browserSync.stream());
});
//默认启动的gulp任务数组['serve']
gulp.task('default', ['serve']);
2.运行gulp
在项目根目录命令行执行gulp或gulp default
项目启动后在命令行中会输出Access URLs,包括本地跟外部访问的URL以及项目跟UI控制界面的URL
项目默认启动在http://localhost:3000
UI控制界面默认启动在http://localhost:3001
效果图
参考
通过Gulp使用Browsersync实现浏览器实时响应文件更改的更多相关文章
- 使用gulp和browser-sync实现浏览器自动刷新
安装gulp (前提是已经安装了node) 全局安装: npm install -g gulp 本项目安装: npm install gulp --save-dev 安装browser-sync 全局 ...
- 使用gulp 合并压缩打包,实时监控文件,实现本地server
今天不讲webpack,就说说gulp是怎么进行压缩合并打包 首先你的安装gulp : npm install gulp -g --save-dev 然后最基本的你因该知道gulp 的四个方法, gu ...
- BrowserSync:跨浏览器实时同步预览
BrowserSync:跨浏览器实时同步预览 2016.09.11 官方网站:https://www.browsersync.io/ 项目仓库:https://github.com/Browsersy ...
- gulp之压缩css,less转css,浏览器实时刷新【原创】
gulp入门 gulp浏览器实时同步 首先要下载对应的插件包: gulp-less包:cnpm install gulp-less --save-dev gulp-connect包:cnpm inst ...
- 用redis的订阅发布解决了扫码支付实时响应的问题
一.场景描述: PC收银台的浏览器展示了收款二维码,用户扫了支付二维码,支付完成后,浏览器需要实时响应支付结果. 二.问题描述: 扫码支付的支付结果一般通过服务端回调和主动查询来获取,显示二维码之后, ...
- react实例之todo,做一个实时响应的列表操作
react实例之todo, 做一个实时响应的列表操作 在所有的mvc框架中,最常见的例子不是hello world,而是todo,由于reactjs的简单性,在不引用flux和redux的情况下,我们 ...
- 分享Grunt.js配置: watch + liveReload 实时监测文件变化自动刷新浏览器
http://www.tuicool.com/articles/2eaQJn 用Grunt配置watch和liveReload组件,可以实时检测指定的文件变化并自动刷新浏览器.目前基本已经成为了我的必 ...
- webpack-dev-server 搭建本地服务以及浏览器实时刷新
一.概述开发项目中为了保证上线,开发项目是都需要使用localhost进行开发,以前的做法就是本地搭建Apache或者Tomcat服务器.有的前端开发人员 对服务器的搭建和配置并不熟悉,这个时候需要后 ...
- IE浏览器支持响应式网站设计
目前响应式网站设计比较流行, 下面是摘自百度百科有关响应式设计的定义. 响应式网站设计是一种网络页面设计布局,其理念是:集中创建页面的图片排版大小,可以智能地根据用户行为以及使用的设备环境进行相对应的 ...
随机推荐
- 【09-14】eclipse学习笔记
eclipse安装class文件反编译插件jadClipse /** 1. 下载JadClipse的jar包 2. 下载Jad反编译器 3. 将JarClipse jar包放到eclipse plug ...
- visio二次开发——图纸解析
(转发请注明来源:http://www.cnblogs.com/EminemJK/) visio二次开发的案例或者教程,国内真的非常少,这个项目也是花了不少时间来研究visio的相关知识,困难之所以难 ...
- 与或左移右移操作在ARM寄存器配置中的作用
逻辑运算: 与运算&:与0清零 清零用与运算 或运算 |:或1置一 置一用或运算 异或 ^:不同为1 /*****单个寄存器清零置一*************************** ...
- 浅析Java中的final关键字
浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...
- PHP简单 对象(object) 与 数组(array) 的转换
数组是PHP的灵魂,非常强大,但有时候面向对象编程也是挺方便的,数组 与 对象 之间切换也是常有的事: /** * 数组 转 对象 * * @param array $arr 数组 * @return ...
- tornadod的异步代码
#!/usr/bin/env python # -*- coding: utf-8 -*- import tornado.httpserver import tornado.ioloop import ...
- SQLite批量插入优化方法
SQLite的数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度. 例如:向数据库中插入10 ...
- js 连续赋值。。理解不了,先占坑
http://www.cnblogs.com/xxcanghai/p/4998076.html
- 【krpano】浏览点赞插件1.1(源码+介绍+预览)
插件使用说明详见:http://www.cnblogs.com/reachteam/p/5479068.html 插件更新 1.新增测试模式 用户可以使用uid="test"进行本 ...
- myecplise 中文乱码
一.设置新建常见文件的默认编码格式,也就是文件保存的格式. 在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致 ...