Gulp минимизировать все файлы css в один файл
У меня есть gulp задача script как указано ниже,
// loads various gulp modules
var gulp = require('gulp');
var concat = require('gulp-concat');
var minifyCSS = require('gulp-minify-css');
var autoprefixer = require('gulp-autoprefixer');
var rename = require('gulp-rename');
// create task
gulp.task('css', function(){
gulp.src('src/css/**/*.css')
.pipe(minifyCSS())
.pipe(rename('style.min.css'))
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9'))
.pipe(gulp.dest('dist/css'))
});
Как минимизировать все css файлы из src/css в один файл как dist/css/style.min.css?
Ответы
Ответ 1
В вашей задаче gulp отсутствует конкатентный канал.
gulp.src('src/css/**/*.css')
.pipe(minifyCSS())
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9'))
.pipe(concat('style.min.css'))
.pipe(gulp.dest('dist/css'))
Вот очень хороший учебник по созданию с gulp:
http://www.smashingmagazine.com/2014/06/11/building-with-gulp/
Ответ 2
Я думаю, что лучше использовать плагин cleancss gulp.
const cleanCSS = require('gulp-clean-css'); // npm install gulp-clean-css --save-dev
gulp.task('css', () => {
return gulp.src('assets/styles/*.css')
.pipe(cleanCSS({
debug: true,
compatibility: 'ie8',
level: {
1: {
specialComments: 0,
},
},
}))
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(rename({
basename: 'main-styles',
suffix: '.min',
}))
.pipe(gulp.dest('dist/assets/styles/'))
});