gulp+browser-sync使用方法
gulp简介
gulp是基于流的自动化构建工具,也就是说gulp是通过操作流实现自动编译,压缩文件等操作的。这得益于node.js对流的支持,当然gulp.js和构建的任务文件都是JavaScript编写的。
安装方法:
$ npm install -g gulp //全局安装
$ npm install --save-dev gulp //本地安装,只是开发版的依赖
设置自动化任务:
创建一个gulpfile.js文件,这个文件里面放置我们要设置的任务。文件里的代码大概是这个样子的。
// 模块引用
var gulp = require('gulp');
//设置任务
gulp.task('task1',function () {
console.log('task1 is completed!');
});
然后我们在控制台执行任务
$ gulp task1
// 打印结果如下
[20:45:22] Using gulpfile E:\apersonal-project\exercise\gulpfile.js
[20:45:22] Starting 'task1'...
task1 is completed!
[20:45:22] Finished 'task1' after 267 μs
我们刚刚执行完task1任务,这个任务只是打印了一句话。gulp有丰富的插件库 ,我们可以使用上面的插件实现我们想要的功能。
browser-sync介绍
browser-sync是一个十分好用的浏览器同步测试工具。
优点:
1、它能监听文件的更改并且自动刷新页面,节省了调试页面的时间,尤其是做移动端的响应式开发的时候;
2、CSS动态注入,不用刷新整个页面,想想做单页应用时,如果有链式动画的话,有了这个神器会有多爽;
3、可以架设静态服务器,如果我们有本地服务器,它也支持使用代理的方式。
guop+browser-sync使用方法
browser-sync并不算是gulp的一个插件,但是通过gulp可以直接使用browser-sync。
browser-sync有两种使用方式,架设静态服务器或者使用代理。
- 安装准备
$ npm install -g gulp //全局安装
$ npm install --save-dev gulp //本地安装,只是开发版的依赖
// 安装插件
$ npm install --save-dev browser-sync
2、设置gulpfile.js文件
这里先说一下例子中的目录结构,根目录是exercise,里面有一个blink文件夹和gulpfile.js文件,blink文件夹下有一个blink.html。
[X] exercise
- [x] blink
- [x] blink.html
- [x] gulpfile.js
- [x] blink
设置任务---架设静态服务器的方法
// 安装依赖
var gulp = require('gulp'),
browserSync = require('browser-sync');
// 设置任务---架设静态服务器
gulp.task('browser-sync', function () {
browserSync.init({
files:['**'],
server:{
baseDir:'./', // 设置服务器的根目录
index:'blink/blink.html' // 指定默认打开的文件
},
port:8050 // 指定访问服务器的端口号
});
});
最后执行任务,浏览器会自动打开blink.html页面,而且当你更改blink.html页面内容时,无需手动刷新,页面会自动更新。
$ gulp browser-sync
效果图

- 设置任务---使用代理、
// 安装依赖
var gulp = require('gulp'),
browserSync = require('browser-sync');
// 设置任务---使用代理
gulp.task('browser-sync', function () {
browserSync.init({
files:['**'],
proxy:'localhost', // 设置本地服务器的地址
port:8080 // 设置访问的端口号
});
});
使用代理的方式需要注意,本地服务器不能是编辑器内置的服务器,只能是自己搭建的服务器,否则会无法访问。
gulp+browser-sync使用方法的更多相关文章
- web页面实时刷新之browser sync
web开发对实时刷新的需求 在刚开始学习前端时每次修改文件内容后都需要手工刷新下浏览器来看效果,做的次数多了就特别难受,有时仅仅修改了一个字母都需要刷新下页面查看 之后接触到编写边看的集成IDE,文件 ...
- nodejs编译sass模块包 node-compass,与gulp包gulp-sass使用方法
简介:node express或者就是node项目中,要自动编译sass方法很多,比如gulp 比如考拉,比如今天我想说的这个包node-compass. 编译sass的三种方法: 前提条件: 都需要 ...
- [转载]jQuery 1.9 移除了 $.browser 的替代方法获取浏览器类型
jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...
- jQuery 1.9 移除了 $.browser 的替代方法
jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...
- vscode中执行gulp task的简便方法
本文重点是gulp在vscode中执行task任务的方法 如何像webstorm那样简便操作gulp 的task 第1步:安装node.下载地址:https://nodejs.org/zh-cn/ 检 ...
- jQuery1.9 $.browser 的替代方法
jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...
- jQuery 1.9使用$.support替代$.browser的使用方法
jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support jQuery 从 1.9 版开始,移除了 $.browser ...
- gulp脚本编写方法
建立一个gulpfile.js文件,内容直接抄gulp-htmlmin的readme: var gulp = require('gulp'); var htmlmin = require('gulp- ...
- Gulp 方法
Gulp有5个基本方法:src.dest.task.run.watch Gulp.src() gulp模块的src方法,用于产生数据流.它的参数表示索要处理的文件,一般有以下几种形式: js ...
- gulp的使用以及Gulp新手入门教程
Gulp新手入门教程 原文 http://w3ctrain.com/2015/12/22/gulp-for-beginners/ Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭 ...
随机推荐
- iOS开发——An App ID with identifier "*****" is not avaliable
Error: An App ID with identifier "*****" is not avaliable. Please enter a different string ...
- 编译时.test文件报错无法解决的方法,关闭test编译
有几次遇到从网上下载到的iOS开源代码编译报错,报错位置为Test Target的源文件,我就挺奇怪我又没做测试为啥会编译Test Target的源文件,之前的暴力解决方法是把Test Target直 ...
- 关于css中的border
我一直以为css中的border是正方形的 像这样 因为我平时用的时候都是 border:1px solid #000,都是同一个颜色所以看不出来 当我给每一个边分别设置颜色的时候才发现 他们是以梯形 ...
- builds error
使用cocoapods 出现Undefined symbols for architecture i386: _OBJC_CLASS_$_XXXXXXX", referenced from: ...
- StackExchange.Redis 官方文档(四) KeysScan
KEYS, SCAN, FLUSHDB 方法在哪? 经常有人问这些问题: 好像并没有看到 Keys(...) 或者 Scan(...)方法?那我要怎么查询数据库里面存有哪些key? 或者 好像没有Fl ...
- .Net普通三层 到 工厂模式->线程内唯一+单元工作模式->WebService分布式三层
在软件世界分层的思想无处不在 主要是为了提高软件系统的维护性,扩展性,复用性和解耦等 软件的三层构架是一种最基本的分层思想的体现 结构图大体如下: 如此一来,开发人员可以只关注其中一层,而无需关心下一 ...
- Python twisted article
学习python twisted 的好文章 An Introduction to Asynchronous Programming and Twisted Reference: http://kron ...
- Vue 响应式总结
有些时候,不得不想添加.修改数组和对象的值,但是直接添加.修改后getter.setter又失去了. 由于 JavaScript 的限制, Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项 ...
- Centos5.5系统备份
使用root用户切换到根目录 然后,使用下面的命令备份完整的系统: tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exc ...
- 前言(Core Data 应用开发实践指南)
Core Data 并不是数据库,它其实是一个拥有多种功能的框架.其中,有个功能是把程序与数据库之间的交互过程自动化,不用再编写SQL代码,改用Objective-C对象来实现. Core Data ...