Gulp js упаковывает только последний файл .less, который находит - PullRequest
0 голосов
/ 07 октября 2019

У меня есть проект, в котором не было принятия нового кода в течение 1 года. Недавно для указанного проекта была запущена сборка (базовая оркестровка агента сборки была изменена, цепочка сборки, похоже, правильно восстановлена), и в результате каждый .less файл полностью игнорируется , за исключением последнего, который он находит

ожидаемое поведение - все .less файлы связаны, как они были в течение последних нескольких лет.

Что может вызвать это?

вещей, которые я уже сделал / пересмотрел:

  • изменения версии пакета
  • изменения кода (ничего за последний год)

ДемонстрацияСимптом: переименуйте файл «только найденный» .less во что-то отличное от .less, и он «найдет» только предыдущий файл .less

Кто-нибудь сталкивался с этим?

редактировать: Вот .less связанных задач

 gulp.task('styles', function () {
    var lessOptions = {
        options: [
            options.src + '/app'
        ]
    };

    var injectFiles = gulp.src([
        options.src + '/app/**/*.less',
        '!' + options.src + '/app/index.less',
        '!' + options.src + '/app/vendor.less'
    ], {read: false});

    var injectOptions = {
        transform: function (filePath) {
            filePath = filePath.replace(options.src + '/app/', '');
            return '@import \'' + filePath + '\';';
        },
        starttag: '// injector',
        endtag: '// endinjector',
        addRootSlash: false
    };

    var indexFilter = $.filter('index.less', {restore: true});
    var vendorFilter = $.filter('vendor.less', {restore: true});

    return gulp.src([
            options.src + '/app/index.less',
            options.src + '/app/vendor.less'
        ])
        .pipe(indexFilter)
        .pipe($.inject(injectFiles, injectOptions))
        .pipe(indexFilter.restore)
        .pipe(vendorFilter)
        .pipe(wiredep(_.extend({}, options.wiredep)))
        .pipe(vendorFilter.restore)
        .pipe($.sourcemaps.init())
        .pipe($.less(lessOptions)).on('error', options.errorHandler('Less'))
        .pipe($.autoprefixer()).on('error', options.errorHandler('Autoprefixer'))
        .pipe($.sourcemaps.write())
        .pipe(gulp.dest(options.tmp + '/serve/app/'))
        .pipe(browserSync.reload({stream: true}));
});
...