Spero che non sia troppo tardi per rispondere a questa domanda. Ho dovuto valutarli entrambi a livello di codice sorgente per un progetto recente, ed ecco la mia opinione.
gulp-recente
Al centro, questo plugin confronta ora di modifica del file di origine e dest (vedi node API) per decidere se il file di origine è più recente del file dest o se non c'è alcun file dest a tutti . Ecco il codice relativo nel plugin:
var newer = !destFileStats || srcFile.stat.mtime > destFileStats.mtime;
gulp-cambiato
Questo plugin di default usa anche ora di modifica di un file per decidere quale di passare attraverso il flusso
function compareLastModifiedTime(stream, cb, sourceFile, targetPath) {}
ma va un passo oltre, offrendo la possibilità di confrontare il contenuto hash SHA1 del file:
function compareSha1Digest(stream, cb, sourceFile, targetPath) {}
Questa informazione è piacevolmente documented.
Conclusione
Quindi teoricamente parlando, se si utilizza gulp-cambiato di predefinito hasChanged: changed.compareLastModifiedTime
, ogni plugin è relativamente veloce come gli altri. Se usi gulp-changed's hasChanged: changed.compareSha1Digest
, è ragionevole aspettarsi che gulp-changed sia un po 'più lento perché crea un hash SHA1 del contenuto del file. Non ho fatto un benchmark, ma sono anche interessato a vedere un certo numero.
Quale scegliere
gulp-cambiato, semplicemente perché dello sviluppatore dietro di esso (sindresorhus). Se un giorno quest'uomo fantastico decidesse che smetterà di supportare i suoi plugin, credo che smetterò di usare il sorso del tutto.
Scherzi a parte, però, il codice sorgente di gulp-changed è gulp-y, mentre la sorgente di gulp-newer si legge più o meno come la sorgente di un altro modulo nodo con molte promesse. Così un altro +1 per gulp-cambiato :)
ENORME EDIT
Gulp-cambiato funziona solo con 1: 1 Sorgente: mappatura dest. Se hai bisogno di molti: 1, ad es. quando si usa con gulp concat, scegliere invece gulp-newer.
base i punti, la mia conclusione è opposta, userò gulp-più recente, perché gulp-più recente supporto molti: 1, ma gulp-cambiato manca, mentre gulp-cambiato hashing supporto confronta, ma il confronto temporale è abbastanza buono nel mio caso. –
Dato che la tua modifica è qualche tempo fa, potresti fornire un breve head-up se esiste ancora questo problema con 'gulp-changed'? Voglio dire, il problema si basa su come funziona il plugin e non può mai essere risolto o può e/o ha fatto questo aggiornamento in qualsiasi modo forma o forma (già)? – Anticom