Gulp:将一个文件连接到每个单独的sass进程
我编写了一个gulp任务,将一个文件夹中的所有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
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
的管道上,它工作了,编辑了你的答案,这样我就可以把它标记为已接受,希望你不要生我的气!