2016-03-28 2 views
0

Je suis en train d'écrire un générateur de Yeoman et à un moment je besoin de copier les fichiers/dossiers d'un repo github dans le répertoire de travail en cours, par exemple:Est-il possible d'ignorer des fichiers lors de la copie de répertoires dans un générateur yeoman?

this.remote('owner', 'repo', function (err, remote) { 
    remote.directory('.', '.'); 
}); 

Cependant, je veux ignorer certains des des fichiers dans ce repo, est-il possible de le faire? J'ai trouvé le function responsible for this mais cela ne semble pas être une façon claire de le faire, il y a une fonction process que vous pouvez passer mais je ne suis pas sûr si vous pouvez "annuler" un fichier en cours de copie s'il correspond à un certain modèle.

Répondre

1

Vous devriez vous fier aux méthodes this.fs object plutôt qu'aux anciennes méthodes de fichiers dépréciés.

Les méthodes auxiliaires sur this.fs prennent en charge les modèles glob, donc ignorer certains fichiers devient trivial.

Vous pouvez en savoir plus sur le système de fichiers Yeoman ici: http://yeoman.io/authoring/file-system.html

+0

Oui, je fini par utiliser la 'this.fs.copy' méthode et un motif de glob pour faire correspondre les fichiers à l'emplacement' remote.cachePath' d'ignorer ceux dont je n'ai pas besoin. Je ne sais pas si c'est la meilleure approche, mais il semble fonctionner pour ce dont j'ai besoin pour le moment. – javiervd

+0

Ouais, c'est la meilleure approche. Une amélioration supplémentaire pourrait consister à se fier uniquement à npm pour récupérer le dépôt au lieu de le faire au moment de l'exécution en utilisant 'this.remote'. –

+0

Pouvez-vous élaborer sur ce dernier point? Je suis curieux de savoir à quoi cela ressemblerait. – javiervd