在gulp流中覆盖文件

3

我有以下的目录结构:

common
-services
--service1.js
--service2.js
-app
--gulpfile.js
--src
---services
----service1.js
----service3.js

我希望制作一个gulp任务,该任务将从common目录中获取所有文件,从app目录中获取文件,并用原始流中相同文件名的文件替换所有文件。之后,我将连接它并写入其他目录。 我尝试了以下内容:

var gulp = require('gulp'),
    merge = require('gulp-merge'),
    concat = require('gulp-concat');
 gulp.task('templates', function () {
  return merge(
    gulp.src(['../common/**/*.js']),
    gulp.src(['src/**/*.js'])
  )
    .pipe(concat('app.js'))
    .pipe(gulp.dest('build/js'));
});

我希望能够在dest/app.js中获取common/services/service2.js,app/src/services/service1.js和app/src/services/service3.js的内容。但实际上我得到了所有文件的内容。 我尝试更改gulp.src的cwd或base,但没有效果。 我知道我可以将此流写入tmp目录,然后从中获取文件,但这似乎并不是真正的gulp-style解决方案。那么如何覆盖流中具有相同文件名的文件?

1个回答

4

好的,我找不到现成的解决方案,于是我自己编写了一个gulp插件:gulp-unique-files


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接