2016-11-01 32 views
0

當我運行gulp時,它會識別在任何scss文件中所做的任何更改。它甚至將它縮小到一個位於build文件夾內的css文件夾中的style.min.css中,並且該站點在我的本地主機上刷新。在scss中所做的更改不起作用

我的問題是,我在scss文件裏面做的改變實際上並沒有發生在網站上。如果我在style.css文件中進行了更改並手動刷新了網站,它將使用所做的更改進行更新。

gulp.task('sass', function() { 
    return gulp.src('./sass/style.scss') 
     .pipe(plumber(plumberErrorHandler)) 
     .pipe(sass()) 
     .pipe(autoprefixer({ 
     browsers: ['last 2 versions'] 
     })) 
     .pipe(cssnano()) 
     .pipe(rename('style.min.css')) 
     .pipe(gulp.dest('./build/css')); 
}); 

gulp.task('watch', ['browserSync', 'sass', 'scripts'], function(){ 
    gulp.watch('./sass/*.scss', ['sass']); 
    gulp.watch('./js/*.js', ['scripts']); 
}); 

回答

0

你正在看的路徑./sass/*.scss,我相信你有這個./sass/文件夾中的子文件夾。

您的部分文件被導入,因爲您可以在編輯主style.scss樣式表時看到更改。

問題出在手錶任務只能看到文件夾sass,但它也必須觀察子文件夾及其.scss內容。例如:

gulp.task('watch', ['browserSync', 'sass', 'scripts'], function(){ 
    gulp.watch('./sass/*.scss', ['sass']); 
    gulp.watch('./sass/**/*.scss', ['sass']); 
    gulp.watch('./js/*.js', ['scripts']); 
}); 

/**/確保所有子文件夾及其內容還觀看。

+0

我沒有./sass/ 中的子文件夾,它會導入位於完全相同位置的_header.scss等項目/ sass/style.scss等。 我的style.css只是project/style.css文件中沒有任何內容。 我放入scss文件的任何東西都會編譯到項目/ build/css/style.min.css中的縮小css文件中,但這些都不會改變我的wordpress站點 任何我在style.css中編寫的東西都會進行更改當我刷新它到實際的網站時,沒有什麼會進入styles.min.css。這就是它應該如何,雖然我認爲是正確的? –

+0

對不起,忘了你說的那個部分「並且我的本地主機上的網站刷新了」,你可以發佈名爲browserSync的gulp任務嗎? –

+0

你知道嗎,你能以某種方式給我發送你的文件夾結構+ gulpfile嗎? (例如pastebin) –