Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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
Gulp:将一个文件连接到每个单独的sass进程_Gulp_Gulp Sass_Gulp Concat - Fatal编程技术网

Gulp:将一个文件连接到每个单独的sass进程

Gulp:将一个文件连接到每个单独的sass进程,gulp,gulp-sass,gulp-concat,Gulp,Gulp Sass,Gulp Concat,我编写了一个gulp任务,将一个文件夹中的所有scs文件处理为单独的css文件 gulp.task('process', function () { gulp.src(['./base.scss', './layout/*.scss']) .pipe(sass()) .pipe(gulp.dest('dist')) }); 现在我想将一个文件(base.scss)连接到每个scss进程;我怎样才能做到这一点呢?这应该对您有所帮助,但我没有测试它。这对您有好处,它会将gulp

我编写了一个gulp任务,将一个文件夹中的所有
scs
文件处理为单独的
css
文件

gulp.task('process', function () {
  gulp.src(['./base.scss', './layout/*.scss'])
    .pipe(sass())
    .pipe(gulp.dest('dist'))
});

现在我想将一个文件(
base.scss
)连接到每个
scss
进程;我怎样才能做到这一点呢?

这应该对您有所帮助,但我没有测试它。这对您有好处,它会将gulp.src中的每个文件视为自己的流,您可以单独操作。下面的代码将base.scs附加到每个流,然后连接它们,然后它们通过sass管道

var foreach = require('gulp-foreach');
var concat = require('gulp-concat');
var addsrc = require('gulp-add-src');

gulp.task('default', function () {
  return gulp.src('./layout/*.scss')
      // treats each file in gulp.src as a separate stream
    .pipe(foreach(function (stream, file) {
      return stream
         // append or prepend
       .pipe(addsrc.append('./base.scss'))
        //  you do have access to the 'file' parameter here if you need to rename
       .pipe(sass())
       .pipe(concat(path.basename(file.path)))
       .pipe(gulp.dest('dist'));
    }));
});

让我知道它是否对您有效。

这应该对您有帮助,但我没有测试它。这对您有好处,它会将gulp.src中的每个文件视为自己的流,您可以单独操作。下面的代码将base.scs附加到每个流,然后连接它们,然后它们通过sass管道

var foreach = require('gulp-foreach');
var concat = require('gulp-concat');
var addsrc = require('gulp-add-src');

gulp.task('default', function () {
  return gulp.src('./layout/*.scss')
      // treats each file in gulp.src as a separate stream
    .pipe(foreach(function (stream, file) {
      return stream
         // append or prepend
       .pipe(addsrc.append('./base.scss'))
        //  you do have access to the 'file' parameter here if you need to rename
       .pipe(sass())
       .pipe(concat(path.basename(file.path)))
       .pipe(gulp.dest('dist'));
    }));
});

让我知道它是否适合您。

那么您想在sass()管道之前将base.scss连接到每个.scss文件吗?@Mark justice..@FaridRn-只是想知道为什么要这样做?我生成的css目前是v大,并试图找出哪些scss文件增加了最大的权重。我想从每个scss文件创建一个css,然后查看大小。尝试了上面和下面的内容,但没有什么乐趣。@v3nt我试图创建一个包含太多css文件的RTL版本的模板;这些文件中的每一个都是根据页面中使用的插件加载的。换句话说,我想用
-RTL
后缀创建每个文件的RTL化版本,并将它们与原始文件放在一起。很高兴听到我的问题对您有所帮助。那么您想在sass()管道之前将base.scss连接到每个.scss文件吗?@Mark justice..@FaridRn-只是想知道为什么要这样做?我生成的css目前是v大,并试图找出哪些scss文件增加了最大的权重。我想从每个scss文件创建一个css,然后查看大小。尝试了上面和下面的内容,但没有什么乐趣。@v3nt我试图创建一个包含太多css文件的RTL版本的模板;这些文件中的每一个都是根据页面中使用的插件加载的。换句话说,我想用
-RTL
后缀创建每个文件的RTL化版本,并将它们与原始文件放在一起。我很高兴听到我的问题对你有所帮助。我用
foreach
大口大口大口喝了一口,但在
foreach
内部使用了
dest
,而不是在
src
的管道上,它工作了,并且编辑了你的答案,这样我就可以把它标记为已接受,希望你不要生我的气!我用
gulp foreach
做了,但在
foreach
内部使用了
dest
,而不是在
src
的管道上,它工作了,编辑了你的答案,这样我就可以把它标记为已接受,希望你不要生我的气!