Browsersync 的简介:
Browsersync 是一个 node 模块,它能让浏览器实时、快速响应您的文件更改(html、js、css、sass、less 等)并自动刷新页面。更重要的是 Browsersync 可以同时在PC、平板、手机等设备下进项调试。您可以想象一下:“假设您的桌子上有 pc、ipad、iphone、android 等设备,同时打开了您需要调试的页面,当您使用 Browsersync 后,您的任何一次代码保存,以上的设备都会同时显示您的改动”。无论您是前端还是后端工程师,使用它将提高您 30% 的工作效率。有了它,您不用在多个浏览器、多个设备间来回切换,频繁的刷新页面。更神奇的是您在一个浏览器中滚动页面、点击等行为也会同步到其他浏览器和设备中,这一切还可以通过可视化界面来控制。(Browsersync 官网:http://www.browsersync.cn/)
使用 Browsersync 和 gulp,你可以轻松地搭建一个本地开发服务器,然后在同一个 wifi 中的任何设备都可以方便地访问到。Browsersync 同时集成了 live-reload 所以不需要另外做配置了。
一、gulp 和 Browsersync 的联合使用
1、安装 “gulp 和 browser-sync”插件命令(在终端进入到项目根目录执行)
npm install --save-dev gulp browser-sync gulp-sass
2、在项目根目录下提供 "browser-sync" 插件任务配置需要的 src 目录和源文件(源文件放置到 src 目录下)
mkdir src
3、在 gulpfile.js 文件中配置使用 "browser-sync"
具体示例:
// Browsersync 的简单使用(静态服务器)
// 将 src 目录下的所有文件加到服务器中,并且在文件发生改变之后所有的浏览器都会自动刷新
var gulp = require('gulp'),
browserSync= require('browser-sync').create(); // 创建一个未命名的 Browsersync 实例
gulp.task('serve', function () { // 自定义 "serve" 任务
browserSync.init({ // Browsersync 初始化配置
server: {
baseDir: 'src'
}
});
// 监视文件改动并重新载入
gulp.watch(['html/*.html', 'css/**/*.css', 'js/**/*.js'], {cwd: 'src'}, browserSync.reload);
});
具体示例:
// SASS + CSS 注入
// 当 css 文件文件预处理之后再重载它们。以 sass 为例,浏览器无需刷新整个页面而仅仅只是重载 css
var gulp = require('gulp'),
sass = require('gulp-sass'),
browserSync= require('browser-sync').create(); // 创建一个未命名的 Browsersync 实例
// 静态服务器 + 监听 scss/html 文件
gulp.task('serve', ['sass'], function() {
browserSync.init({
server: 'src'
});
gulp.watch('src/sass/*.scss', ['sass']);
gulp.watch('src/html/*.html').on('change', browserSync.reload);
});
// 将 sass 编译后的 css 注入到浏览器里实现更新
gulp.task('sass', function() {
return gulp.src('src/sass/*.scss')
.pipe(sass())
.pipe(gulp.dest('src/css'))
.pipe(browserSync.stream());
});
4、通过如下命令启动服务,并且打开一个浏览器,访问默认的 URL (http://localhost:3000)
gulp serve
PS:如果没有错误提示信息,证明就没什么问题了。现在去修改源文件,看看浏览器是否可以自动刷新页面。未完待续。。。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。