Javascript 狼吞虎咽的手表不';无法检测SASS SCSS文件夹中的更改
我第一次设置了Gulp,使用NanoCSS和gulpcss将scs编译成CSS。 我已经创建了一个do sass,它成功地编译了SCS并缩小了CSS。 然而,当我把它放在手表任务中时,它就不起作用了。 如果更改任何SCSS文件,则do sass命令不会运行。谁能告诉我我做错了什么Javascript 狼吞虎咽的手表不';无法检测SASS SCSS文件夹中的更改,javascript,npm,gulp,Javascript,Npm,Gulp,我第一次设置了Gulp,使用NanoCSS和gulpcss将scs编译成CSS。 我已经创建了一个do sass,它成功地编译了SCS并缩小了CSS。 然而,当我把它放在手表任务中时,它就不起作用了。 如果更改任何SCSS文件,则do sass命令不会运行。谁能告诉我我做错了什么 const gulp = require('gulp'); const sass = require('gulp-sass'); const cssnano = require('gulp-cssnano'); g
const gulp = require('gulp');
const sass = require('gulp-sass');
const cssnano = require('gulp-cssnano');
gulp.task('sass', function(){
return gulp.src('scss/styles.scss')
.pipe(sass())
.pipe(gulp.dest('./'))
});
// Minifys .css and reload browser.
gulp.task('mini-css', function() {
return gulp.src('styles.css')
.pipe(cssnano())
.pipe(gulp.dest('./'));
});
// Compile and minify css.
gulp.task('do-sass', gulp.series('sass', 'mini-css'));
gulp.task('watch', function(){
gulp.watch('scss/*/.scss', gulp.series('do-sass'));
});
监视任务使用的全局模式可能不正确:
scss/*/.scss
将不会查找所需的scss文件,因为它将尝试再深入一个目录,查找名为.scss
(没有任何文件名,只有扩展名)的文件
如果要全局化嵌套在任何级别的任何SCSS文件,需要使用以下语法:
scss/**/*.scss
因此,如果您更新了watch任务,那么它应该可以工作:
gulp.task('watch', function(){
gulp.watch('scss/**/*.scss', gulp.series('do-sass'));
});
也许您的
监视路径不正确scss/*/.scss
让我相信gulp将查找嵌套的scss文件,而不是根目录中的任何文件。如果您想以任何SCSS文件为目标,那么您需要使用SCSS/***.SCSS
您的目录结构是什么?为什么您需要观看scss/*/.scss
?这应该是scss/*.scss
?正如@terry所提到的,我相信它应该是'scss/***.scss'
@JackBashford它现在只是一个名为scss的文件夹。一个测试文件来完成所有的设置很高兴我帮了忙。我已经把我的评论改写成了一个答案,并做了一些额外的解释:)