Странная инъекция после потоковой передачи изменений через browserSync в gulp - PullRequest
0 голосов
/ 05 февраля 2019

Когда я обновляю свой код SASS, часы gulp обнаружат его и запустят задачу gulp.Эта задача имеет browserSync.stream() после компиляции (поэтому нет необходимости перезагружать всю страницу), но когда я просматриваю свой тег <head>, файл CSS вводится несколько раз.

Автономный файл задачи sass.js:

module.exports = function(gulp, browserSync) {
    return function() {
        gulp.src('dev/style.scss')
            .pipe(plumber())
            .pipe(sourcemaps.init())
            .pipe(sass({outputStyle: 'expanded'}))
            .pipe(sourcemaps.write('./'))
            .pipe(plumber.stop())
            .pipe(gulp.dest('assets/admin/dev/css'))
            .pipe(browserSync.stream());
    };
};

В gulpfile.js:

browserSync.init({
    proxy: 'my-website.dev'
});

gulp.watch('dev/*.scss', ['sass']);

Это то, что я нашел в теге <head>:

<link href="//localhost:3000/assets/admin/dev/css/styles.css" rel="stylesheet">
<link href="http://localhost:3000/assets/admin/dev/css/styles.css?browsersync=1549380294464" rel="stylesheet">
<link href="http://localhost:3000/assets/admin/dev/css/styles.css?browsersync=1549380300994" rel="stylesheet">
<link href="http://localhost:3000/assets/admin/dev/css/styles.css?browsersync=1549380305255" rel="stylesheet">
<link href="http://localhost:3000/assets/admin/dev/css/styles.css?browsersync=1549380308183" rel="stylesheet">

Так что очевидно, что browserSync тольковнедряет один и тот же файл с другой версией.Но старые link остаются там и создают проблемы.

...