2016-11-01 31 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) –