Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 狼吞虎咽的手表不';无法检测SASS SCSS文件夹中的更改_Javascript_Npm_Gulp - Fatal编程技术网

Javascript 狼吞虎咽的手表不';无法检测SASS SCSS文件夹中的更改

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

我第一次设置了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');


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的文件夹。一个测试文件来完成所有的设置很高兴我帮了忙。我已经把我的评论改写成了一个答案,并做了一些额外的解释:)