Задача Gulp CSS не перезаписывает существующий CSS
var paths = {
css: './public/apps/user/**/*.css'
}
var dest = {
css: './public/apps/user/css/'
}
// Сократить и объединить все CSS-файлы
gulp.task('css', function(){
return gulp.src(paths.css)
.pipe(concatCSS('style.css'))
.pipe(minifyCSS({keepSpecialComments: 1}))
.pipe(rename({
suffix: '.min'
}))
.pipe(gulp.dest(dest.css))
});
Когда я запускаю задачу в первый раз, она хорошо компилируется и все изменения есть. После того как я что-то изменил и запустил снова, он не перезаписывает существующий уменьшенный файл CSS. Если бы я должен был удалить минимизированный CSS и запустить задачу снова, все работает отлично. Есть идеи?
2 ответа
Вы должны удалить свою уменьшенную версию CSS, прежде чем выполнять минификацию CSS.
Для достижения этого вы можете использовать gulp-clean
установить gulp-clean как npm установить gulp-clean
var gulp = require('gulp'),
concat = require('gulp-concat'),
cleanCSS = require('gulp-clean-css'), // this is to minify css
clean = require('gulp-clean'), //this is to delete files
gulp.task('del-custom-css', function(){
return gulp.src('./static/custom/css/custom.min.css',{force: true})
.pipe(clean())
});
gulp.task('minify-custom-css', ['del-custom-css'], function(){
return gulp.src(['./static/custom/css/*.css'])
.pipe(concat('custom.min.css'))
.pipe(cleanCSS())
.pipe(gulp.dest('./static/custom/css'))
});
Надеюсь, поможет.
Попробуйте установить точный путь, а не переменную. Не то чтобы это не очень хорошая практика, просто попробуйте без этого.
Также добавьте 'use strict';
к вашей задаче, чтобы вы могли быть уверены, что в ваших настройках нет серьезных ошибок. Это даст вам правильный тип ошибок, если они есть.
И могу я спросить, почему вы объединяете свой CSS перед сборкой?
Каждая конкатенация файлов, минификация и т. Д. Должна выполняться в 'build'
задача.