Javascript Gulp-以文件夹及其子文件夹中的所有文件为目标

Javascript Gulp-以文件夹及其子文件夹中的所有文件为目标,javascript,gulp,Javascript,Gulp,我希望能够将gulp中的watch任务添加到frontend/js中的所有js文件和下面的任何其他js文件中 gulp.watch('./frontend/js/**/*.js', ['browserify']); 这将只针对一个文件夹深度的js文件,它应该匹配任意数量的子目录: **如果“globstar”在路径部分中是单独的,那么它将匹配零个或多个搜索匹配项的目录和子目录。它不爬网符号链接的目录 你有符号链接的目录吗 符号链接 我认为你不会让gulp以本机方式遍历你的符号链接目录。我建

我希望能够将
gulp
中的
watch
任务添加到
frontend/js
中的所有
js
文件和下面的任何其他js文件中

 gulp.watch('./frontend/js/**/*.js', ['browserify']);

这将只针对一个文件夹深度的
js
文件,它应该匹配任意数量的子目录:

**
如果“globstar”在路径部分中是单独的,那么它将匹配零个或多个搜索匹配项的目录和子目录。它不爬网符号链接的目录

你有符号链接的目录吗

符号链接
我认为你不会让gulp以本机方式遍历你的符号链接目录。我建议您看看这些解决方案是否可以应用到您的用例中。问题或答案中没有专门针对符号链接的内容,因此我不知道是否有适合您的解决方案。如果您可以使用其中一种解决方案获得一个解引用路径名数组,那么您只需将该数组传递到
gulp.src()

我刚刚做了一些测试,这实际上对我来说很好

我目前的结构如下:

--apps
  --scripts
  ----test.js
  ----test-folder
  ------test2.js
  ------test-folder-deep
  --------test3.js
  --myApp
  ----scripts-symlinked (symlinked to apps/scripts)
  ----gulpfile.js
我使用以下方法设置我的符号链接文件夹(在Mac上-从“myApp”文件夹):

在my
gulpfile.js
中,我有以下内容:

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']);
});

工作完美。我也在一个子目录(“脚本/symlinked脚本”)中尝试了这一点,并且也取得了成功。

我认为这不值得这么做:

gulp.watch('./frontend/js/', ['browserify']);

事实上,我确实有一些小链接。好戏chap@KellyJAndrews除此之外,我还无法将所有文件及其子文件夹中的文件作为目标:)因此,对我而言,没有任何问题得到回答。您的所有子文件夹是否都已符号链接?整个js文件夹是;)@Jamie Hutber查看更新答案的符号链接部分。可能我误解了@Jamie Hutber的文件夹结构。我认为
js
文件夹的内容是符号链接,而不是
js
本身。但如果是这样的话,那么根据你的结果,我不知道为什么他们最初的glob不起作用。
gulp.watch('./frontend/js/', ['browserify']);