Browsersync初使用

    xiaoxiao2023-03-25  6

    gulp是一个很好得东东,用好它可以提高开发效率,加快开发速度。但是,前提是用好...如果gulpfile的流程写的有问题,就会导致很头疼的问题,就是每次修改代码,都要build一下,再serve一下,这样就违反了我们刚开始使用gulp的初衷了,使得开发变得繁琐和低效。那么,如何实现实时刷新呢?Browsersync便能实现这样的功能。http://www.browsersync.cn/,这个是它的官网。

    好的,下面就动手修改你的gulpfile吧。

    首先,先安装

    $ npm install browser-sync gulp --save-dev 然后在您的 gulpfile.js 文件里使用它们     var gulp        = require('gulp');     var browserSync = require('browser-sync').create();     var reload = browserSync.reload;     // 静态服务器   gulp.task('browser-sync', function() {     browserSync.init({         server: "www/build"         });     }); 这个server是指静态服务器,即项目要运行的路径。一般情况我们使用gulp,会将项目的初始代码迁移到另外一个文件夹中,我这里原本是app文件夹,然后都流到www下的build文件夹下。

    然后就是改造scripts,html和sass这三个方法,分别是集成js,集成html,集成css。当然这个不一定,你可以根据自己的需求去改造。     gulp.task('scripts', function () {     return gulp.src([你的js文件路径])         .pipe(concat('all.js'))         .pipe(gulp.dest('www/build'))         .pipe(reload({stream: true}));     });     gulp.task('sass', function () {     return gulp.src(你的scss文件路径)         .pipe(sass())         .pipe(gulp.dest('www/build/css'))         .pipe(reload({stream: true}));     });     gulp.task('html', function () {     return gulp.src([你的html文件路径])         .pipe(gulp.dest('www/build/pages'))         .pipe(reload({stream: true}));   }) 可以看到,这三个其实都是在最后加了.pipe(reload({stream: true})); 然后按正常不走,我们要clean,build,就像这样     gulp.task('build', function (cb) {     runSequence('clean', ['sass', 'indexhtml', 'html', 'lib', 'scripts'], cb)     }); 最后才是执行我们的browserSync,它会自动打开浏览器,就像ionic serve   gulp.task('serve', function () {     browserSync.init({         server: "www/build"     });     gulp.watch(src.scss, ['sass']);     gulp.watch(src.html,['html']);     gulp.watch(src.js, ['scripts']);   }); 这里,我们使用的是watch,它会实时监听代码的变动,然后再执行相应的任务。这样的话,我们每次执行项目就只需要gulp build,然后再gulp serve就可以了,之后就不用管了,修改了代码,然后保存一下,浏览器就会刷新了。不过建议webstorm设置成ctrl+s保存,而不是自动保存,不然会卡的... 我写了一个简单的demo,如果还有不清楚的话,可以看看,地址是   git clone https://github.com/hanwolfxue/my-first-gulp.git

    转载请注明原文地址: https://ju.6miu.com/read-1203928.html
    最新回复(0)