【问题标题】:gulp-order node module with merged streams具有合并流的 gulp-order 节点模块
【发布时间】:2014-06-23 11:13:52
【问题描述】:

我正在使用 gulp-order 模块以及 event-streams 模块和 gulp-concat 将 javascript 文件连接到单个 dest 文件中。 gulp-order 插件在我想以不同的顺序从流中连接文件的其他项目中非常适合我。出于某种原因,在这个项目中它无法正常工作,并且 public/angular/config 目录中的文件分散在我指定在 public/js 目录中最后连接的文件中。我认为这可能与指定多重来源有关。 angular 和 js 目录。我尝试将流与 event-streams 模块合并,但没有成功,而当我第一次开始时,我通过将数组传递给 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);
});

【问题讨论】:

  • 同样的问题,昨天还在工作,现在不行了。
  • 嘿@Nick 我放弃了订单模块并开始使用流队列。效果很好,可以在我的github上查看github.com/dtothefp/gulp-angular-foundation/blob/master/gulp/…
  • 原来我是个笨蛋,我改了文件名..难怪他们出了问题!顺便说一句,您可以使用 order 或仅使用 gulp.src([file1,file2,file3*]) 来执行此操作。我不认为流队列是必要的。

标签: node.js angularjs concat gulp node-modules


【解决方案1】:

我遇到了同样的问题,我使用gulp-print 查看我的流中的文件名,但它们是正确的。我发现我需要将base选项添加到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

【讨论】:

  • 这也为我修复了它。直接从gulp.src 管道需要这个基本选项似乎很奇怪。
猜你喜欢
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
  • 2018-01-25
  • 1970-01-01
  • 1970-01-01
  • 2017-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多