node.js – 具有合并流的gulp-order节点模块

我正在使用gulp-order模块以及event-streams模块和gulp-concat将 javascript文件连接到单个dest文件中. gulp-order插件在我想要以不同顺序连接流中的文件的其他项目中对我很有用.由于某些原因,在这个项目中,它无法正常工作,并且public / angular / config目录中的文件分散在我指定的文件中,以便在public / js目录中最后连接.我认为这可能与指定多个来源有关. angular和js目录.我尝试将流与事件流模块合并而没有运气,而当我第一次开始时,我通过将数组传递给gulp.src函数来指定多个源

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

下面是我现在使用的代码.管道和连接工作正常,但顺序不符合规范:

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);
});

解决方法

我有同样的问题,我使用gulp-print查看我的流中的文件名,但它们是正确的.我发现我需要将基本选项添加到gulp-order,然后一切运行良好.

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

有用的文章http://martinwolf.org/2014/08/12/force-a-concatenation-order-with-gulp-js/

更新:博客文章的新链接https://martinwolf.org/blog/2014/08/force-a-concatenation-order-with-gulp-js

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...