Ho provato a creare un gulpfile.js per il mio progetto di sito web personale. Non l'ho mai fatto prima ma con un po 'di tentativi ed errori ora funziona in modo accettabile.Gulp non copia tutti i file come previsto
L'unica cosa che non funziona anche dopo 1000 modifiche è la semplice copia di file e cartelle.
var files = {
data_src : [
'./files.json',
'data/**/*.*'
],
distribution_dest : '_distribution'
};
gulp.task('copy-data', function() {
gulp.src(files.data_src, { base: './' })
.pipe(gulp.dest(files.distribution_dest))
.pipe(notify({message: 'Data copied for distribution!'}));
});
Questo dovrebbe copiare tutte le sottocartelle ei file al gulp.dest
. Ma ne copia solo la metà, alcune cartelle verranno ignorate anche se cambio il loro nome ecc. (Nessun carattere speciale, stessa struttura della sottocartella di quella che è stata copiata correttamente ...) - niente ha funzionato. Non riesco a vedere alcun modello in questo.
Nessun messaggio di errore durante l'esecuzione di Gulp. Niente che possa aiutarmi a trovare l'errore.
Perché alcune cartelle o file sono esclusi dalla copia?
Io uso base
per mantenere il/struttura delle cartelle sottocartella; provato con e senza 'base' -> nessun effetto sul processo di copia.
Ho anche modificato la posizione dell'attività "copia-dati" nell'elenco di esecuzione. In realtà è il primo compito da eseguire. Non sembra esserci alcun cambiamento nel comportamento, non importa se è il primo o l'ultimo.
gulp.task('default', function() {
gulp.run('copy-data', 'custom-sass', 'framework-sass', 'custom-js', 'framework-js', 'replace-tags', 'browser-sync');
... some watches ...
});
La struttura della cartella dei dati si presenta come questi:
./data
|-doc
|---content
|---template
|-img
|---chart
|---icon
|---logo
|---pattern
|---people
|---photo
|---symbol
|-----brandklassen
|-----brandschutzzeichen
|-----gebotszeichen
|-----gefahrensymbole
|-----rettungszeichen
|-----verbotszeichen
|-----verkehrsrechtzeichen
|-----warnzeichen
|---wallpaper
/data/doc
e tutte le sottocartelle sono ok.
/data/img/chart
a /data/img/people
sono anche ok.
All'interno di /data/img/photo
vengono copiate solo 14 delle 21 immagini.
/data/img/symbol
con sottocartelle e /data/img/wallpaper
sono stati ignorati completamente.
se 'base' è la radice, non è necessario che questa opzione sia necessaria. Potrebbe essere che uno dei tuoi schemi di selezione non sia corretto. Puoi darci un'idea della struttura delle cartelle? –
Esegui qualsiasi altra attività prima del task 'copia-dati'? – Heikki
Incontrato lo stesso problema. Questo ha aiutato, grazie. – timetowonder