【发布时间】: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