覆盖gulp流中的文件
我有以下目录结构:覆盖gulp流中的文件,gulp,Gulp,我有以下目录结构: common -services --service1.js --service2.js -app --gulpfile.js --src ---services ----service1.js ----service3.js 我想做一个gulp任务,它将从公共目录中获取所有文件,从应用程序目录中获取文件,并用原始流中相同的文件名替换所有文件。在那之后,我将把它浓缩并写入其他目录。 我试过这个: var gulp = require('gulp'), merge =
common
-services
--service1.js
--service2.js
-app
--gulpfile.js
--src
---services
----service1.js
----service3.js
我想做一个gulp任务,它将从公共目录中获取所有文件,从应用程序目录中获取文件,并用原始流中相同的文件名替换所有文件。在那之后,我将把它浓缩并写入其他目录。
我试过这个:
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的内容。
但是我得到了所有文件的内容。
我试图更改cwd或gulp.src的base,但没有效果。
我知道我可以将这个流写入tmp目录,然后从中获取文件,但它看起来并不像gulp风格的解决方案。那么,如何在streams中覆盖具有相同文件名的文件呢?好的,我找不到任何现有的解决方案,所以我编写了自己的gulp插件: