2017-10-20 3 views
0

J'ai essayé avec gulp.watch et regarder (gulp-watch) mais quand j'ajoute le nouveau fichier, ne pas copier dans dest.Mon gulpfile peut modifier (modifier) ​​et supprimer le fichier, mais ne pas copier de nouveaux fichiers (ajouter)

Comment puis-je faire cela?

Thnks!

PD: J'utilise la version 3.9.1

gulp.task('default', function() { 
    for(var i = 0; i < origen_web.length ; i++) { 
    var source = '../..' + '/dir' + '/**/*'; 
    var dist = '../../dist'; 

    watch(source, function(obj){ 
     copyFiles(obj, source, dist); 
    }); 
    } 
} 

function copyFiles(source, dist, obj) { 

    gulp.src(source) 
    .pipe(gulp.dest(dist)); 
} 

Désolé, ceci est mon code plus et moins.

+0

Pourriez-vous publier un exemple de votre fichier gulp? – mutantkeyboard

+0

J'ai posté un petit code :) –

+0

Possible copie de https://stackoverflow.com/questions/22391527/gulps-gulp-watch-not-triggered-for-new-or-deleted-files – Mark

Répondre

-1

Utilisez le chemin absolu vers les répertoires.

double question de Gulps gulp.watch not triggered for new or deleted files?

+0

Oui, j'utilise cet exemple mais fonctionne si sa copie tout dossier, si je copie le fichier pour le fichier changé, ne fonctionne pas avec de nouveaux fichiers: S –

+0

Est-ce qu'il lance quelque chose? Peut-être que le script n'a pas la permission de ces fichiers? Pouvez-vous simplement utiliser les API nodejs fs pour copier le fichier juste pour vérifier? https://nodejs.org/api/fs.html –

+0

J'ai posté un petit code et oui, j'ai la permission parce que ces fichiers (ajouter) est dans le même dossier que les fichiers copiés. –

0

Ok, essayez avec cela.

gulp.task('default', function() { 
    for(var i = 0; i < origen_web.length ; i++) { 
    var source = '../..' + '/dir' + '/**/*'; 
    var dist = '../../dist'; 

    watch(source, function(obj){ 
     copyFiles(obj, source, dist); 
    }); 
    } 
} 

function copyFiles(source, dist, obj) { 

    return gulp.src(source) // <-- here you force gulp to return the value 
    .pipe(gulp.dest(dist)) 
    .pipe(notify({message: "This message is triggered if the data has been transferred"})); 
}