Watchify と gulp.watch の相性が悪い?
次のような gulpfile.js 書くと watchify は動くけど、 gulp.watch の方は動かない。
数日悩んだけど、諦めて brawserify のタスクを動かす方で諦めている。 watchify で監視対象にしたファイルは watch 出来ないぽい?よく分からない。
function scripts(watch) { var files = glob.sync('./src/**/*.js'), config = { entries :files, debug: watch, cache: {}, packageCache: {}, fullPaths: true }, bundler = browserify(config), rebundle = function() { return bundler.bundle(). pipe(source('main.js')). pipe(gulp.dest('./dist')); }; bundler = watch ? watchify(bundler) : bundler; bundler.on('update', rebundle); return rebundle(); } gulp.task('watchify', function(){ return scripts(true); }); gulp.task('watch', ['watchify'], function(){ gulp.watch('./src/**/*.js', ['jshint']); });
追記
どうもこの辺が関係ありそう。あとで読む。
substack/node-browserify · GitHub
今、 JS のライブラリ書こうとしててこの問題にぶつかったので、 main.js*1 の置き場所と関係ありそう。
ちょっと色々見直そう(そもそも論として今やろうとしていることに watchify はいらないのかもしれない。))。
*1:と見做す file