你可以使用gulp根据父文件夹将文件连接在一起吗?

时间:2015-12-21 19:57:33

标签: javascript npm gulp

我正在尝试为我设置一个通用框架以用于多个项目。我主要是尝试这样做以获得gulp / npm和构建项目的经验。

我想将所有不同的组件分开,并有gulp任务来编译每个组件文件夹文件

具体而言,例如......

我想使用这些globs

app/components/**/scripts/**/*.js
app/components/**/*.css

使用这些文件

app/components/about/file1.css
app/components/about/file2.css
app/components/about/scripts/file1.js
app/components/about/scripts/file1.js
app/components/home/file1.css
app/components/home/file2.css
app/components/home/scripts/file1.js
app/components/home/scripts/file1.js

我希望将它们合并到这些文件中

app/components/about/scripts.js
app/components/home/scripts.js
app/assets/css/components/about_styles.css
app/assets/css/components/home_styles.css

我发现this recipe看起来像我想做的那样,但看起来非常笨重。

这可能与吞咽有关吗?如果没有,我可以用gulp做一些模块吗?

1 个答案:

答案 0 :(得分:0)

听起来好像要使用gulp-concat

var concat = require('gulp-concat');

gulp.task('aboutScripts', function() {
  return gulp.src('./app/components/about/scripts/*.js')
    .pipe(concat('scripts.js'))
    .pipe(gulp.dest('./app/components/about/'));
});

gulp.task('homeScripts', function() {
  return gulp.src('./app/components/home/scripts/*.js')
    .pipe(concat('scripts.js'))
    .pipe(gulp.dest('./app/components/home/'));
});

也可能gulp-concat-css