【发布时间】:2016-07-20 02:20:16
【问题描述】:
我正在使用 gulp 将 markdown 文件转换为 HTML,并使用 gulp-watch 插件(不是 gulp.watch API 函数)在文件发生更改时重建文件。效果很好!
gulp.task('markdown', function () {
gulp.src('src/**/*.md')
.pipe(watch('src/**/*.md'))
.pipe(markdown())
.pipe(template('templates/md.tpl'))
.pipe(gulp.dest('dist'));
});
问题是管道src 是降价文件,但在管道内我还引用了一个模板文件。如果该模板发生更改,则需要重新构建所有降价文件。有没有办法在 gulp/gulp-watch 中表达这种依赖关系?
我尝试使用 gulp.watch(API 函数)来观察模板并在它发生变化时运行“markdown”任务...
gulp.watch('templates/md.tpl', ['markdown']);
...但这没有用。什么都没发生。我认为管道中的 gulp-watch 会阻止它做任何事情。
我想我可以创建两个任务,一个使用 gulp-watch,一个没有,然后使用一个没有强制完全重建。我宁愿不这样做,因为那样保持两者同步就成了一个持续存在的问题。
有没有更好的办法?
【问题讨论】:
标签: gulp gulp-watch