Gulp-less lässt sich nicht nur dann ausführen, wenn sich die Datei geändert hat

StackOverflow https://stackoverflow.com//questions/24005502

  •  20-12-2019
  •  | 
  •  

Frage

Ich kann nicht schlucklos werden, um nicht jedes Mal alles zu verarbeiten.Ich habe es versucht:

  1. Aktualisierung meiner Gulp-Version
  2. mit gulp-changed
  3. mit gulp-newer

Es funktioniert mit gulp-ngmin, aber nicht mit gulp-less

Dies verarbeitet test.js also nur, wenn ich test.js ändere:

var SRC = 'test.js';
var DEST = 'dist';

gulp.task('test', function () {
    return gulp.src(SRC)
        .pipe(changed(DEST))
        // ngmin will only get the files that
        // changed since the last time it was run
        .pipe(ngmin())
        .pipe(gulp.dest(DEST));
});

Aber jedes Mal, wenn ich diese Aufgabe ausführe, wird weniger berechnet

Was ist hier falsch?

var SRC = 'test.less';
var DEST = 'dist';

gulp.task('test', function () {
    return gulp.src(SRC)
        .pipe(changed(DEST))
        .pipe(less({
                paths: [path.join(__dirname, 'less', 'includes')]
            }))
        .pipe(gulp.dest(DEST));
});
War es hilfreich?

Lösung

Eigentlich ist Nikitas Aussage falsch, sie funktioniert und ist ihr Zweck. Stellen Sie nur sicher, dass Sie sie richtig einrichten.In meinem Fall habe ich Folgendes:

var gulp         = require('gulp');
var less         = require('gulp-less');
var changed      = require('gulp-changed');

gulp.task('less', function () 
{  
    gulp.src('./src/less/pages/*.less')
        .pipe(changed( 'outputDir/css', {extension: '.css'}))
        .pipe(less({
            paths: [ './src/less/' ]
        }))
        .pipe(gulp.dest( 'outputDir/css') );
});

Mein gulp.src zeigt auf den Ordner, in dem ich meine LESS-Hauptdateien habe (Dateien, die andere LESS-Dateien importieren) und ich möchte, dass sie alle im Zielordner kompiliert werden.

In .pipe(changed()) Sie müssen das gleiche Ziel haben wie in .pipe(gulp.dest()).

Sie können die zu vergleichende Erweiterung angeben, um den Vorgang zu beschleunigen ({extension: '.css'}) In pipe(changed()).

Möglicherweise müssen Sie Ihre Angaben noch einmal überprüfen paths: [path.join(__dirname, 'less', 'includes')].In meinem Fall habe ich dort einfach den Stammordner aller meiner weniger Dateien abgelegt.Einige meiner LESS-Dateien sind in src/less/globals und andere in src/less/common.Die Dateien, die ich kompilieren möchte, sind in src/less/pages.Also habe ich verwendet src/less/pages/*.LESS In gulp.src() Und src/less/ in weniger pipe(less({paths: []})).

Andere Tipps

Sie können Gulp-Wenig-geänderte -Paket verwenden, es wird die Weniger-Datei-Kompilierungshierarchie überprüft, wobei die generierten generationspflichtigen Griffen generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top