我希望能够添加一个...。watch
从事 gulp
对所有的人 js
文件在 frontend/js
及以下任何其他js文件
gulp.watch('./frontend/js/**/*.js', ['browserify']);
这将只针对 js
文件夹深处
它应该匹配任何数量的子目录。
**
如果一个 "globstar "单独出现在路径部分,那么它就会匹配零个或更多的目录和子目录搜索匹配。它不抓取符号链接的目录。
https:/github.comisaacsnode-glob
您是否有符号链接的目录在里面?
我不认为你会得到gulp来原生穿越你的symlinked目录。我建议你看看 node.js fs.readdir 递归目录搜索 看看是否有任何解决方案可以应用到你的使用案例中。在问题和答案中没有专门针对符号链接的内容,所以我不知道是否有适合你的解决方案。如果你能用其中一个解决方案得到一个去引用路径名的数组,那么你可以将数组传递给 gulp.src()
.
我刚刚做了一些测试--实际上这对我来说很好。
我目前有以下结构
--apps
--scripts
----test.js
----test-folder
------test2.js
------test-folder-deep
--------test3.js
--myApp
----scripts-symlinked (symlinked to apps/scripts)
----gulpfile.js
我设置了我的symlink文件夹(在Mac上 - 从'myApp'文件夹),使用。
ln -s /Users/kandrews/apps/scripts ./scripts-symlinked
在我的 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']);
});
完美的工作。我还在一个子目录中也试了一下('scriptssymlinked-scripts'),也成功了。
我认为这不值得做难。
gulp.watch('./frontend/js/', ['browserify']);