Пересмотр Глотка
Я работал над тем, как автоматизировать процесс разработки с использованием системы сборки gulp.
У меня возникла проблема с пересмотром моих таблиц стилей. Я использовал gulp-rev для генерации файла с номером его версии обновления, но он продолжает создавать дополнительный файл для любого изменения внутри файла, что в результате увеличивает размер моей установки.
gulpfile.js
var gulp = require('gulp');
var watchLess = require('gulp-watch-less');
var less = require('gulp-less');
var plumber = require('gulp-plumber');
var watch = require('gulp-watch');
var rev = require('gulp-rev');
var revReplace = require('gulp-rev-replace');
var cleanCSS = require('gulp-clean-css');
var autoprefixer = require('gulp-autoprefixer');
var revAppend = require('gulp-rev-append');
//LESS
gulp.task('less', function() {
return gulp.src('assets/less/*.less')
.pipe(watchLess('assets/less/*.less'))
.pipe(less())
.pipe(autoprefixer({
browsers: ['> 0%'],
cascade: false
}))
.pipe(cleanCSS())
.pipe(gulp.dest('assets/css/'))
.pipe(rev())
.pipe(gulp.dest('assets/css/'))
.pipe(revAppend())
.pipe(gulp.dest('assets/css'))
.pipe(rev.manifest())
.pipe(gulp.dest('assets/'));
});
//Watch
gulp.task('watch', function(){
gulp.watch('assets/less/*.less', ['less']);
})
//Default
gulp.task('default', ['watch']);
Мне нужна помощь в создании последнего файла с изменениями обновления и удалении предыдущего файла из каталога файлов или чего-то, что даст мне только файл с последним обновлением / изменениями в нем.
Я также использовал несколько других плагинов, связанных с rev, но я не нашел правильный способ его настройки
1 ответ
Ну, у вас есть четыре трубы с местами назначения.
.pipe(gulp.dest('assets/css/'))
.pipe(gulp.dest('assets/css/'))
.pipe(gulp.dest('assets/css'))
.pipe(gulp.dest('assets/'));
Три из них с тем же местом назначения. Ожидайте иметь три копии всех файлов в конвейере на разных этапах. С gulp-rev вам нужна дополнительная труба для манифеста, но это все равно оставляет нам 2 вместо 4.
Пытаться:
//LESS
gulp.task('less', function() {
return gulp.src('assets/less/*.less')
.pipe(watchLess('assets/less/*.less'))
.pipe(less())
.pipe(autoprefixer({
browsers: ['> 0%'],
cascade: false
}))
.pipe(cleanCSS())
.pipe(rev())
.pipe(revAppend())
.pipe(gulp.dest('assets/css'))
// WARNING!!! Put the manifest after all the file pipes
.pipe(rev.manifest())
.pipe(gulp.dest('assets/'));
});
Здесь опубликовано сообщение о переосмыслении на тот случай, если вы захотите пересмотреть свой пакет и оставить обязанности по пересмотру файла вашему контролю исходного кода или сборке сервера.