2014-10-24 3 views
14

I file di immagini con l'attributo read-only sono impostati nella cartella di origine. Ho bisogno di copiarli nella cartella di destinazione nella maggior parte dei casi più volte in gulpfile.js.Gulp - Gestisce le autorizzazioni di sola lettura per i file dest?

sto cercando di copiare i file src-to-dest come questo:

gulp.task('copy-images', function() { 
    gulp.src(path_resource_images + '**/*.jpg') 
    .pipe(gulp.dest(path_app_images)); 
}); 

funziona Dopo quando la cartella dest a vuoto. Ma per tutte le prossime chiamate ho un'eccezione che il file è read-only nella cartella dest. Come posso rimuovere il file attr read-only per rendere la copia dell'immagine funziona ogni volta che la chiamo?

risposta

23

È possibile utilizzare gulp-chmod per gestire le autorizzazioni sui file.

Quindi, se si desidera impostare le immagini readable e writable per tutti, si potrebbe andare con qualcosa di simile:

var chmod = require('gulp-chmod'); 

gulp.task('copy-images', function() { 
    gulp.src(path_resource_images + '**/*.jpg') 
    .pipe(chmod(666)) 
    .pipe(gulp.dest(path_app_images)); 
}); 
+1

aiuta. Grazie. – SeO

+0

Ricordarsi di accettare la domanda quindi;) –

+0

Ho capito correttamente che ciò avrebbe modificato gli attributi dei file nello stream prima che venissero scritti in dest in modo che non venissero scritti come letti per cominciare? – epeleg

0

rimraf può essere utilizzato per evitare problemi con le autorizzazioni di TFS (eliminando i file di destinazione prima di copiare i file)

var rimraf = require("rimraf"); 
gulp.task("images_clean", function (cb) { 
    rimraf(imagesDest, cb); 
}); 
6

passando attributo options. Impostare il valore mode per specificare l'autorizzazione per tutte le cartelle che devono essere create come output.

gulp.dest("destination-path-here", {"mode": "0777"}) 

applausi :-)

+0

C'è un modo per farlo per tutte le chiamate a gulp.dest (...)? Un'impostazione globale, ad esempio? –

Problemi correlati