gulp-sassとbrowsersyncを利用して、scssの自動コンパイルとライブプレビューができるようにgulpを導入しましたが、SCSSの変更が反映されない時があります……
毎回反映されないわけではありません。反映されない条件として、style.scssでimportしている先のscssファイルの内容を変更した時です。
新たに「background-color: #ccc」などを追加すると反映されるのですが、その後に「background-color: #111」などを、すでにあるものに対して、値だけ変更すると反映されません。
常に反映されるように修正したいです。。
gulpfile.jsの中身
js
1const PATH = "html/"; 2 3const gulp = require('gulp') 4const sass = require('gulp-sass') 5const postcss = require('gulp-postcss') 6const flexBugsFixes = require('postcss-flexbugs-fixes') 7const autoprefixer = require('autoprefixer') 8const cssWring = require('cssWring') 9const cssDeclarationSorter = require('css-declaration-sorter') 10const mqpacker = require("css-mqpacker") 11const browsersync = require("browser-sync").create() 12 13const postcssOption = [ 14 flexBugsFixes, 15 autoprefixer(autoprefixerOption), 16 cssDeclarationSorter({order: 'smacss'}), 17 mqpacker() 18] 19 20gulp.task('sass', () => { 21 return gulp.src(PATH + 'src/assets/sass/*.scss') 22 .pipe(sourcemaps.init()) 23 .pipe(sass({outputStyle: 'expanded'})) 24 .pipe(postcss(postcssOption)) 25 .pipe(sourcemaps.write('.')) 26 .pipe(gulp.dest(PATH + 'dist/assets/css/')) 27}) 28 29// サーバーを立ち上げる 30gulp.task('build', (done) => { 31 browsersync.init({ 32 server: { baseDir: PATH + "dist/" }, 33 port: 4001, 34 directoryListing: true 35 }); 36 done(); 37}) 38 39// ブラウザをリロード 40gulp.task('reload', (done) => { 41 browsersync.reload(); 42 done(); 43}); 44 45// ファイルを監視 46gulp.task('watch', (done) => { 47 gulp.watch(PATH + 'src/assets/sass/**/*.scss', gulp.series("sass")); 48 gulp.watch(PATH + "dist/**/*.css", gulp.task('reload')); 49 done(); 50}) 51 52// タスクの実行 53gulp.task('default', gulp.series('sass','build','watch', () => { 54 console.log('Default all task done!'); 55}))
style.scssの中身
scss
1@charset "UTF-8"; 2@import "object/project/_index";

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/07 15:01