Módulo de nodo de orden trillada con flujos combinados

Estoy usando el módulo gulp-order junto con el módulo de secuencias de eventos y gulp-concat para concatenar archivos de javascript en un solo archivo de destino. El plugin Gulp-Order me ha funcionado muy bien en otros proyectos en los que quería concatenar archivos de la secuencia en un orden distinto. Por alguna razón, en este proyecto no funciona correctamente, y los archivos en el directorio público / angular / config se encuentran dispersos entre los archivos que especifico para concatenar el último en el directorio público / js. Creo que esto puede tener algo que ver con la especificación de múltiples fonts, es decir. Los directorios angular y js. Intenté fusionar las secuencias con el módulo de secuencias de eventos sin suerte, mientras que cuando comencé por primera vez especificaba las múltiples fonts pasando una matriz a la función gulp.src

gulp.src(['./public/angular/**/*.js', './public/js/*.js']) 

A continuación se muestra el código que estoy usando ahora. La tubería y la concatenación funcionan bien, pero el orden no cumple con la especificación:

 var gulp = require('gulp'); var concat = require('gulp-concat'); var notify = require('gulp-notify'); var handleErrors = require('../util/handleErrors'); var jshint = require('gulp-jshint'); var ngmin = require('gulp-ngmin'); var order = require('gulp-order'); var es = require('event-stream'); function getStream(streamPath) { return gulp.src(streamPath); }; gulp.task('scripts', function() { return es.merge(getStream('./public/angular/**/*.js'),getStream('./public/js/*.js')) .pipe(order([ './public/angular/config/*.js', './public/angular/services/**/*.js', './public/angular/modules/**/*.js', './public/angular/primitives/**/*.js', './public/js/**/*.js' ])) .pipe(concat('app.js')) .pipe(gulp.dest('./public/build/js')) .on('error', handleErrors); }); 

Tuve este mismo problema, y ​​utilicé gulp-print para ver los nombres de archivo en mi flujo, pero eran correctos. Descubrí que necesitaba agregar la opción base a gulp-order , luego todo funcionó bien.

 gulp.src(['myFiles/*', 'myOtherFiles/*']) .pipe(order([ 'myOtherFiles/lib1.js', 'myFiles/lib2.js' ], {base: '.'}); 

Artículo útil: http://martinwolf.org/2014/08/12/force-a-concatenation-order-with-gulp-js/

ACTUALIZACIÓN: nuevo enlace al artículo del blog: https://martinwolf.org/blog/2014/08/force-a-concatenation-order-with-gulp-js