Глоток конкат после нахальный
Я хотел бы взять вывод sass и объединить его в другой обычный файл CSS.
пример:
animate.css
app.scss
return gulp.src('app.scss')
.pipe(sass({
errLogToConsole: true
}))
.pipe(concat(['animate.css', OUTPUT_OF_THE_SASS_ABOVE]))
.pipe(gulp.dest(paths.public+'css/'))
.pipe(rename({ extname: '.min.css' }))
.pipe(gulp.dest('css/'))
.on('end', done);
есть идеи как это сделать?
******* ИДЕЯ
возможно, возможно ли сгенерировать файл css из sass во временную папку, затем объединить его с файлами css, и они просто удалили его. Есть идеи, как это сделать, в одной задаче?
2 ответа
gulp-concat
будет только конкатать файлы, которые были указаны gulp.src
в текущем потоке. Если вы только указали app.scss
Вы не можете объединить дополнительные файлы в этом потоке.
Это не значит, что вы не можете создать новый поток, содержащий app.scss
скомпилированный вывод и включает в себя animate.css
также.
Для этого вам понадобится merge-stream (npm install merge-stream
):
var gulp,
sass,
merge,
concat,
rename;
//load dependencies
gulp = require('gulp');
sass = require('gulp-sass');
merge = require('merge-stream');
concat = require('gulp-concat');
rename = require('gulp-rename');
//define default task
gulp.task('default', function () {
var sassStream,
cssStream;
//compile sass
sassStream = gulp.src('app.scss')
.pipe(sass({
errLogToConsole: true
}));
//select additional css files
cssStream = gulp.src('animate.css');
//merge the two streams and concatenate their contents into a single file
return merge(sassStream, cssStream)
.pipe(concat('app.css'))
.pipe(gulp.dest(paths.public + 'css/'));
});
Почему бы не включить animate.css как частичное в основной файл Sass?
@import "animate";
А затем переименуйте animate.css в _animate.css
Вы также получаете больше контроля над тем, как / где компилируется ваш CSS.