Je voudrais pouvoir ajouter une tâche watch
dans gulp
à tous les fichiers js
dans le frontend/js
et tout autre fichier js ci-dessous
gulp.watch('./frontend/js/**/*.js', ['browserify']);
Cela ne ciblera que les fichiers js
d'un dossier en profondeur
Il est censé correspondre à n'importe quel nombre de sous-répertoires:
**
Si un "globstar" est seul dans une portion de chemin, il correspond à zéro ou plusieurs répertoires et sous-répertoires à la recherche de correspondances. Il n'analyse pas les répertoires de liens symboliques.
https://github.com/isaacs/node-glob
Avez-vous des répertoires de liens symboliques là-dedans?
Je ne pense pas que vous obtiendrez gulp pour traverser nativement vos répertoires de liens symboliques. Je vous recommande de jeter un œil à node.js fs.readdir recursive directory search et de voir si l'une de ces solutions peut être appliquée à votre cas d'utilisation. Rien dans la question ou les réponses ne traite spécifiquement des liens symboliques, donc je ne sais pas s'il y a une solution pour vous ou non. Si vous pouvez obtenir un tableau de chemins déréférencés en utilisant l'une de ces solutions, vous pouvez simplement passer le tableau à gulp.src()
.
Je viens de faire quelques tests - et cela fonctionne très bien pour moi.
J'ai actuellement la structure suivante -
--apps
--scripts
----test.js
----test-folder
------test2.js
------test-folder-deep
--------test3.js
--myApp
----scripts-symlinked (symlinked to apps/scripts)
----gulpfile.js
J'ai configuré mon dossier de liens symboliques (sur Mac - à partir du dossier 'myApp') en utilisant:
ln -s /Users/kandrews/apps/scripts ./scripts-symlinked
Dans mon gulpfile.js
J'ai les informations suivantes:
var gulp = require('gulp'),
jshint = require('gulp-jshint');
gulp.task('jshint', function () {
gulp.src('./scripts-symlinked/**/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
gulp.task('watch', function () {
gulp.watch('./scripts-symlinked/**/*.js', ['jshint']);
});
Fonctionne parfaitement. J'ai également essayé cela dans un sous-répertoire ('scripts/symlinked-scripts') et j'ai également réussi.