我正在努力让我的gulp文件正常工作,我不确定这是错的。这是文件。 https://gist.github.com/digilord/9265640我遇到问题的部分是js:dev。更改coffeescript文件时,会将生成的js文件放入app / js目录中。 js:dev规则没有发现这种变化。谁能告诉我我错过了什么?
答案 0 :(得分:0)
即时解决方案:gulp-watch需要glob信息才能找到新文件。您可以将glob传递给glob option。类似的东西:
return gulp.src('app/js/*.coffee')
.pipe(watch({glob: 'app/js/*.coffee'}))
与此同时,如果您使用gulp.watch()
,它也不会获取新文件,只是因为其依赖项中存在错误,很快就会出现修复。
我还要提到你的gulpfile是不必要的复杂。您的coffee和js操作可以在同一个流中,而不是创建中间的js文件。我也不知道为什么你的一些流重复两次。保持干爽:
var coffeeGlob = 'app/js/*.coffee';
gulp.task('js:dev', ['clean:dev'], function() {
return gulp.src(coffeeGlob)
.pipe(watch({glob: coffeeGlob}))
.pipe(coffee({bare: true}).on('error', gutil.log))
.pipe(concat('app.js'))
.pipe(gulp.dest('build/js'))
.pipe(reload());
});
正如我在IRC上提到的那样,你基于它的样板可能不是最新的做法,我推荐基于Yeoman's gulp generator's gulpfile之类的新东西。