gulp 和 Browsersync 的联合使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gulp 和 Browsersync 的联合使用相关的知识,希望对你有一定的参考价值。

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、全局安装 Browsersync 模块命令(用于提供 web 服务)

            npm install -g browser-sync

2、安装 “gulp 和 browser-sync”插件命令(在终端进入到项目根目录执行)

            npm install --save-dev  gulp browser-sync gulp-sass

3、在项目根目录下提供 "browser-sync" 插件任务配置需要的 src 目录和源文件(源文件放置到 src 目录下)

            mkdir src

4、在 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: {      
               baseDir: ‘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(‘dist/css‘))
       .pipe(browserSync.stream());
});

5、通过如下命令启动服务,并且打开一个浏览器,访问默认的 URL (http://localhost:3000)

            gulp serve

PS:如果没有错误提示信息,证明就没什么问题了。现在去修改源文件,看看浏览器是否可以自动刷新页面。未完待续。。。





本文出自 “珞辰的博客” 博客,转载请与作者联系!

以上是关于gulp 和 Browsersync 的联合使用的主要内容,如果未能解决你的问题,请参考以下文章

代理URL不能与BrowserSync Gulp任务一起使用

如何使用Gulp Browsersync与Django?

Browsersync结合gulp和nodemon实现express全栈自动刷新

将 browsersync 与 gulp/nodemon 一起使用

gulp+browserSync自动刷新页面

text 手动本地设置Gulp和BrowserSync