Пересмотр Глотка

Я работал над тем, как автоматизировать процесс разработки с использованием системы сборки 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/'));
});

Здесь опубликовано сообщение о переосмыслении на тот случай, если вы захотите пересмотреть свой пакет и оставить обязанности по пересмотру файла вашему контролю исходного кода или сборке сервера.

Другие вопросы по тегам