Package | gulp-concat |
---|---|
Description | Concatenate files specified in .bundle file. |
Node Version | >= 0.10 |
Next code will concatenate files specified in .bundle
files. Output files will have name without .bundle
extension.
var bundle = require('gulp-bundle-file');
gulp.task('bundles', function() {
return gulp.src('./bundles/*.bundle')
.pipe(bundle.concat()) // concat files in each bundles
.pipe(gulp.dest('./dist/'));
});
Lines inside .bundle
file may contain variables like @{myVar}
:
var bundle = require('gulp-bundle-file');
gulp.task('bundles', function() {
return gulp.src('./bundles/*.bundle')
.pipe(bundle.concat({ // here should be specified variable values
myVar1: 'directory/subDirectory',
myVar2: 'another-dir'
})) // concat files in each bundles
.pipe(gulp.dest('./dist/'));
});
You can process files specified in each .bundle
with handler:
var bundle = require('gulp-bundle-file');
var less = require('gulp-less');
gulp.task('bundles', function() {
return gulp.src('./bundles/*.bundle')
.pipe(bundle.concat(function (bundleSrc) {
return bundleSrc.pipe(less()); // process files with less before thay will be concated
}))
.pipe(gulp.dest('./dist/'));
});
Another function bundle.list()
will send files from bundle into pipe:
var bundle = require('gulp-bundle-file');
var uglify = require('gulp-uglify');
gulp.task('bundles', function() {
return gulp.src('./bundles/*.js.bundle')
.pipe(bundle.list()) // lists files in all bundles
.pipe(uglify()) // send all js file to uglify module
.pipe(gulp.dest('./dist/'));
});
If test.js.bundle
contains text:
file1.js
some-dir/file2.js
my-dir/another-bundle.js.bundle
... and file another-bundle.js.bundle
contains text:
file3.js
... then output file will have name test.js
with content of file1.js
+ file2.js
+ file3.js
.
Bundle file with variables:
@{myVar1}/subpath/*.js
directory/@{myVar2}/**.js