Domanda

Non riesco a ottenere Gulp-meno per non elaborare tutto, ogni volta.Ho provato:

    .
  1. Aggiornamento della mia versione di Gulp
  2. usando GUGP-CAMBIAMENTO
  3. usando Gulp-newer
  4. funziona con Gulp-NGMIN, ma non con Gulp-Less

    Allora Test Test.js solo se cambio test.js:

    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));
    });
    
    .

    Ma ogni volta che eseguo questa attività, calcola il meno

    Cosa c'è di sbagliato qui?

    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));
    });
    
    .

È stato utile?

Soluzione

In realtà la dichiarazione di Nikita è falsa, funziona ed è lo scopo, assicurati di averlo configurato correttamente.Nel mio caso ho questo:

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') );
});
.

My gulp.src punta alla cartella in cui ho i miei principali file meno (file che importano altri file meno) e li voglio compilando tutti nella cartella di destinazione.

In .pipe(changed()) Devi avere lo stesso obiettivo che hai in .pipe(gulp.dest()).

È possibile specificare l'estensione da confrontare per renderlo più veloce ({extension: '.css'}) in pipe(changed()).

Forse è necessario ricontrollare il tuo paths: [path.join(__dirname, 'less', 'includes')].Nel mio caso, ho appena inserito la cartella principale di tutti i miei file meno.Alcuni dei miei meno file sono in src/less/globals e altri in src/less/common.I file che voglio compilare sono in src/less/pages.Così ho usato src/less/pages/*.LESS in gulp.src() e src/less/ in meno pipe(less({paths: []})).

Altri suggerimenti

È possibile utilizzare il pacchetto Gulp-Less-Modificato-Modificato , controllerà la gerarchia di compilazione inferiore del file, considerando i @imports

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

var outputPat = "dest";

gulp.task('less', () => {
    return gulp.src('src/*.less')
        .pipe(lessChanged({
            getOutputFileName: file => rename(file, { dirname: outputPath, extname: '.css' })
        }))
        .pipe(less())
        .pipe(gulp.dest(outputPath));
});
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top