前提・実現したいこと
gulpでsassをコンパイルした際に、BrowserSyncで更新した内容が反映されない。
発生している問題・エラーメッセージ
例えば
font-size: 10px;
と一度書いてコンパイルした後
font-size: 14px; display: block;
と書き直すと、新しく書いたdisplay:blockは反映されるが
font-sizeは変わらない。
一度対象コードを消してコンパイルして、その後に正しいコードを書くしか方法が無い。
※cssは正しく更新されています。それがBrowser Syncで反映されない。
コンパイルすると、コードは古いままですが、一応ブラウザは更新されます。
該当のソースコード
gulpfile.js
var gulp = require('gulp'); var pug = require("gulp-pug"); var fs = require("fs"); var data = require("gulp-data"); var browserSync = require("browser-sync"); var sass = require('gulp-sass'); var cssmin = require('gulp-cssmin'); var rename = require('gulp-rename'); var autoprefixer = require('gulp-autoprefixer'); var notify = require('gulp-notify'); var plumber = require('gulp-plumber'); //Pug(テンプレートエンジン) gulp.task('pug', function () { return gulp.src( ["src/**/*.pug", '!' + "src/**/_*.pug"] //参照するディレクトリ、出力を除外するファイル ) .pipe(plumber({ errorHandler: notify.onError("Error: <%= error.message %>") })) .pipe(data(file => { return JSON.parse(fs.readFileSync(`./pages.json`)); })) .pipe(pug({ pretty: true })) .pipe(gulp.dest("dist/")) //出力先 .pipe(notify('pugをコンパイルしました!')); }); //Sass gulp.task('scss', function () { return gulp.src( ["src/assets/scss/**/*.scss", '!' + "src/assets/scss/**/_*.scss"] //参照するディレクトリ、出力を除外するファイル ) .pipe(plumber({ errorHandler: notify.onError("Error: <%= error.message %>") })) .pipe(sass({ outputStyle: 'expanded' }).on('error', sass.logError)) .pipe(autoprefixer()) .pipe(gulp.dest("dist/assets/css/")) //出力先 .pipe(notify('scssをコンパイルしました!')); }); //css min gulp.task('cssmin', function () { return gulp.src('./dist/assets/css/*.css') .pipe(cssmin()) .pipe(rename({ suffix: '.min' })) .pipe(gulp.dest('./dist/assets/css/')); }); //Browser Sync gulp.task('browser-sync', function () { browserSync.init({ server: { baseDir: "./dist/" } }); }); //リロード gulp.task('reload', function (done) { browserSync.reload(); done(); }); //watch gulp.task('watch', function () { gulp.watch('./src/*.pug', gulp.series('pug', 'reload')); gulp.watch('./src/**/_*.pug', gulp.series('pug', 'reload')); gulp.watch('./src/**/*.pug', gulp.series('pug', 'reload')); gulp.watch('./pages.json', gulp.series('pug', 'reload')); gulp.watch('./src/assets/scss/*.scss', gulp.series('scss', 'reload')); gulp.watch('./src/assets/scss/**/_*.scss', gulp.series('scss', 'reload')); }); gulp.task('default', gulp.series(gulp.parallel('browser-sync', 'watch', 'pug', 'scss')))

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。