V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xuecat
V2EX  ›  Angular

各位大大们, gulp 的 browser-sync 愁死了。求!!!

  •  
  •   xuecat · 2017-04-10 18:10:09 +08:00 · 1874 次点击
    这是一个创建于 2782 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我弄的每次修改 js 或 html 文件,浏览器都会刷新页面。而不会重新加载。 这一点都不像网上说的

    以下是我的代码:

     browserSync = require('browser-sync').create(),
     
     var htmlSrc = ['app/**/*.html', '!app/index.html', '!app/lib/**/*.html', '!app/lib/*.html'];
    var jsSrc = ['app/**/*.js', '!app/lib/**/*.js', '!app/assets/**/*.js'];
    var cssSrc = ['app/assets/**/*.css', '!app/lib/**/*.css'];
    
    var imgSrc = ['app/assets/img/*', 'app/assets/img/**/*'];
    
    var fontSrc = ['app/assets/fonts/**/*'];
    
    var jsonSrc = ['app/translate/*.json', 'app/translate/**/*.json'];
    
    var libSrc = ['app/lib/**/*'];
    
    var indexSrc = 'app/index.html';
    
    var buildPath = 'dist/';
    var debugPath = 'app/';
     
     gulp.task('createIndex', function() {
        return gulp.src(indexSrc)
        .pipe(replace(/\.js/g, '.min.js'))
        .pipe(htmlmin({collapseWhitespace: true}))
        .pipe(gulp.dest(buildPath))
        .pipe(browserSync.stream());
    });
    
    gulp.task('compressHTML', function() {
        return gulp.src(htmlSrc)
        .pipe(htmlmin({collapseWhitespace: true}))
        .pipe(gulp.dest(buildPath))
        .pipe(browserSync.stream());
    });
    
    gulp.task('compressJS', function() {
        var filterIndex = filter(['**/app.config.js', '**/app.module.js', '**/app.route.oclazy.js'], {restore: true});
        return gulp.src(jsSrc)
        .on('error', function(err) {//语法检查,打印错误
            console.log('Error: ', err.message);
        })
        .pipe(filterIndex)
        .pipe(rename({suffix: '.min'}))
        .pipe(filterIndex.restore)
        .pipe(uglify())//压缩
        .pipe(gulp.dest(buildPath))
        .pipe(browserSync.stream());
    });
    
    gulp.task('compressCSS', function() {
        return gulp.src(cssSrc)
        //.pipe(concat('index.min.css')) 为了使用 oclazyload 不整合
        .pipe(minifycss())
        .pipe(gulp.dest(buildPath + 'assets'))
        .pipe(browserSync.stream());
    });
    
    gulp.task('compressJSON', function () {
        return gulp.src(jsonSrc)
            .pipe(jsonminify())
            .pipe(gulp.dest(buildPath + 'translate'))
            .pipe(browserSync.stream());
    });
    
    gulp.task('copyImg', function() {
        return gulp.src(imgSrc)
        .pipe(gulp.dest(buildPath + 'assets/img'))
        .pipe(browserSync.stream());
    });
    
    gulp.task('copyLib', function() {
        return gulp.src(libSrc)
        .pipe(gulp.dest(buildPath + 'lib'))
        .pipe(browserSync.stream());
    });
    
    gulp.task('copyFont', function() {
        return gulp.src(fontSrc)
        .pipe(gulp.dest(buildPath + 'assets/fonts'))
        .pipe(browserSync.stream());
    });
    
    gulp.task('clean', function() {
        return gulp.src(buildPath)
        .pipe(clean());
    });
    
    gulp.task('startCreate', ['clean'], function() {
        runSequence('createIndex', 
        ['compressHTML', 'compressJS', 'compressCSS', 'compressJSON'],
        ['copyLib', 'copyImg', 'copyFont']);
    });
    
    gulp.task('browserSync', function() {
        gulp.start('startCreate');
    
        browserSync.init({
            server: {
                baseDir: buildPath
            }
        });
    
        gulp.watch(indexSrc, ['createIndex']);
        gulp.watch(htmlSrc, ['compressHTML']);
        gulp.watch(jsSrc, ['compressJS']);
        gulp.watch(cssSrc, ['compressCSS']);
        gulp.watch(jsonSrc, ['compressJSON']);
    });
    
    gulp.task('default', ['browserSync']);
    
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2475 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 15:54 · PVG 23:54 · LAX 07:54 · JFK 10:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.