【发布时间】:2015-01-21 15:51:05
【问题描述】:
这个问题是在 gulp 3.8.10 上提出的,使用 gulp.watch 而不是 'gulp-watch'
我有一个任务将我所有的 html/css/js 文件注入到我的 index.html 中
gulp.task('index', function () {
var sources = gulp.src(['./src/**/*.js', './src/**/*.css'], {read: false});
return gulp.src('./src/index.html')
.pipe(inject(sources, {ignorePath: 'src', addRootSlash: false }))
.pipe(gulp.dest('./src'));
});
此任务由以下自动触发:
gulp.watch('src/**/*', ['index']);
由于所有这些任务都是,将外部文件导入我的 index.html,如下所示:
<!-- inject:js -->
<script src="app/app.js"></script>
<script src="module/module.js"></script>
<!-- endinject -->
如果添加了新文件,我希望仅让观察者运行此任务,重新运行和修改我的 index.html 没有意义文件,当我只是更改已经注入其中的文件时。
有没有办法用 gulp 做到这一点?
编辑: 接受答案后这是适用于我给定示例的实际代码:
gulp.watch('src/**/*', function(event) {
if (event.type === 'added' ) {
gulp.start('index');
}
});
【问题讨论】:
标签: javascript node.js gulp