gulp任务能合并成一个吗?

发布于 2022-09-05 10:24:07 字数 885 浏览 12 评论 0

如下代码,一个move任务,被写成了movejs,movecss,moveviews三个task,一个clean任务,被写成了cleanjs,cleancss,cleanviews三个任务,能否有一种简便的写法,只用一个mvoe task和一个clean task?(能否从匹配文件的正则入手,node-glob的写法上,总是感觉js目录,css目录,和*.ejs文件等用一句话清除掉?)

gulp.task('build:movejs', function() {
    return gulp.src('./build/js/*.js').pipe(gulp.dest('build/public/js'));
});

gulp.task('build:movecss', function() {
    return gulp.src('./build/css/*.css').pipe(gulp.dest('build/public/css'));
});

gulp.task('build:moveviews',function(){
    return gulp.src('./build/*.ejs').pipe(gulp.dest('build/views'));
});

gulp.task('build:cleanjs',function(){
    return gulp.src('./build/js').pipe(clean());
});

gulp.task('build:cleancss',function(){
    return gulp.src('./build/css').pipe(clean());
});

gulp.task('build:cleanviews',function(){
    return gulp.src('./build/*.ejs').pipe(clean());
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凉宸 2022-09-12 10:24:07

gulp#4.0可以用seriesparallel分别做同步和异步的任务流,其实我个人觉得任务可以保持一定的颗粒度,然后在实际运用中用一个task去封装起来。
比如这里

gulp.task('move', gulp.parallel('build:movejs', 'build:movecss', 'build:moveviews'))

补充:
如果想要只是简单的合并目录,其实gulp.src是支持数组形式的传参的。

猥︴琐丶欲为 2022-09-12 10:24:07
gulp.task('build:movecss', function() {
    gulp.src('./build/js/*.js').pipe(gulp.dest('build/public/js'));
    gulp.src('./build/css/*.css').pipe(gulp.dest('build/public/css'));
    gulp.src('./build/*.ejs').pipe(gulp.dest('build/views'));
});
扭转时空 2022-09-12 10:24:07

用监听感觉好一点吧

 gulp.task('build', function() {
    gulp.src('./build/js/*.js').pipe(gulp.dest('build/public/js'));
    gulp.src('./build/css/*.css').pipe(gulp.dest('build/public/css'));
    gulp.src('./build/*.ejs').pipe(gulp.dest('build/views'));
});
gulp.task('watch', function() {
    gulp.watch(['./build/js/*.js','./build/css/*.css','./build/*.ejs'], ['build']);   
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文