gpt4 book ai didi

javascript - 仅当添加了新文件时如何使用 watch 运行 gulp 任务

转载 作者:搜寻专家 更新时间:2023-10-31 23:00:43 24 4
gpt4 key购买 nike

This question is asked on gulp 3.8.10, using gulp.watch not 'gulp-watch'

我有一个任务是将我所有的 html/css/js 文件注入(inject)到我的 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 没有意义文件,当我简单地更改一个已经注入(inject)其中的文件时。

有没有办法用 gulp 做到这一点?

编辑:接受答案后这里是我给定示例的实际代码:

gulp.watch('src/**/*', function(event) {
if (event.type === 'added' ) {
gulp.start('index');
}
});

最佳答案

在任务或回调中,你会有一个event参数,它有一个type属性,它会告诉你文件是否被添加、删除或更改.最好的选择可能是根据您的任务使用它。

function watcher(event){
if(event.type === 'added'){ /* do work */ }
}

关于javascript - 仅当添加了新文件时如何使用 watch 运行 gulp 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28071361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com