我将gulp与bower和许多其他脚本一起使用,目录结构如下:
.
|- bower_components
|---- various_packages
|- js
|---- functions.js (my custom javascript)
|---- test_example_vendor_item.js
我的gulp正在使用main-bower-files来抓取bowser文件,然后连接我的其他js文件。
主要问题是,在js文件夹本身,我需要functions.js
被连接到test_example_vendor_item.js
之后。
除了简单地将functions.js
重命名为zzz_functions.js
,或将所有其他文件重命名为zzz_vendor.example.js
,是否有办法确保functions.js
最后连接?
我试图使用gulp-order,但无济于事,显然,初始通配符将接受所有的原始顺序:
gulp.task('js', function() {
var jsFiles = ['js/*'];
gulp.src(plugins.mainBowerFiles().concat(jsFiles))
.pipe(plugins.filter('*.js'))
.pipe(plugins.order([
'*',
'functions.js'
]))
.pipe(plugins.concat('main.js'))
.pipe(plugins.uglify())
.pipe(gulp.dest(dest + 'js'))
});
当然…
gulp.task('js', function() {
var jsFiles = ['js/*'];
gulp.src(plugins.mainBowerFiles().concat(jsFiles))
.pipe(plugins.filter('*.js'))
.pipe(plugins.order([
'!(functions.js)*',
'functions.js'
]))
.pipe(plugins.concat('main.js'))
.pipe(plugins.uglify())
.pipe(gulp.dest(dest + 'js'))
});
这个想法是选择除了functions.js以外的所有js文件,然后选择functions.js.
*try this:
.pipe(plugins.order([
'!(functions.js)*',
'functions.js'
]))