咕噜咕噜文件夹编译



我对吞咽比较陌生。当我尝试使用带有其 sass 文件的子文件夹编译一个目录时,我遇到了一个问题。

文件夹结构:

|_sass
   |__folder1
   |   |_file.sass
   |__folder2
   |   |_file.sass
   |__folder3
       |_file.sass

我简单的吞咽任务来尝试编译

gulp.task('sass', function(){
  return sass('sass/')
    .pipe(gulp.dest('css');
}

上面的此任务不适用于文件夹,但是如果我像下面的gulp任务一样指定文件,则可以正常工作。

gulp.task('sass', function(){
  return sass('sass/folder1/file1.sass')
    .pipe(gulp.dest('css');
}

我已经检查了存储库的文档(gulp-ruby-sass)和stackoverflow中的其他主题,我发现的一种解决方案是将所有sass代码导入一个文件并进行编译。

我尝试了不同的路径:./sasssasssass/最后一个语法,gulp.src(path/**/*.sass) gulp-sass存储库也是如此。

你可以帮我吗?提前致谢

编辑:使用 gulp-sass ,而不是 gulp-ruby-sass ,因为gulp-ruby-sass只支持单个文件,如文档中所述:

gulp-ruby-sass 尚不支持 globs,仅支持单个文件或目录。就像萨斯一样。

您应该创建一个具有有效 glob 参数的流gulp.src(),而不仅仅是直接调用 sass() 并在pipe()中调用它:

gulp.task('sass', function (){
  return gulp.src([
    'sass/folder1/file.sass',
    'sass/folder2/file.sass',
    'sass/folder3/file.sass'
  ])
    .pipe(sass())
    .pipe(gulp.dest('css'));
});

如果您只想导入的文件命名正确(以下划线开头),这也应该有效:

gulp.task('sass', function (){
  return gulp.src('sass/**/*.sass')
    .pipe(sass())
    .pipe(gulp.dest('css'));
});

编辑:修复了一些代码错误 - SO 需要一个 linter (;

最新更新