Javascript 吞咽未按正确顺序连接js文件

Javascript 吞咽未按正确顺序连接js文件,javascript,gulp,gulp-concat,gulp-order,Javascript,Gulp,Gulp Concat,Gulp Order,我正在使用gulp连接和缩小js文件。但是文件并没有按照应该的顺序连接,就像我想要的顺序一样: var scriptFiles = [ 'assets/lib/js/angular.min.js', 'assets/lib/js/angular-sanitize.min.js', 'assets/lib/js/angular-route.min.js', 'assets/lib/js/angular-ui-router.min.js', 'assets/lib/js/ang

我正在使用gulp连接和缩小js文件。但是文件并没有按照应该的顺序连接,就像我想要的顺序一样:

 var scriptFiles = [
  'assets/lib/js/angular.min.js',
  'assets/lib/js/angular-sanitize.min.js',
  'assets/lib/js/angular-route.min.js',
  'assets/lib/js/angular-ui-router.min.js',
  'assets/lib/js/angular-css.min.js',
  'assets/lib/js/angular-select.min.js',
  'assets/lib/js/duration.js',
  'assets/lib/js/ui-codemirror.min.js',
];
问题是,在连接后,ui-codemirr.min.js文件会转到编译文件的顶部,这会破坏javascript,因为angular.js没有初始化/加载。

为了解决这个问题,我尝试使用“gulporder”包,并编写了这个gulp任务:

gulp.task('lib-js', function() {
  return gulp.src(scriptFiles)
    .pipe(jshint())
    .pipe(jshint.reporter('default'))
    .pipe(order(scriptFiles, { base: './' }))
    .pipe(concat('vendor.js'))
    .pipe(gulp.dest('assets/compiled/js'))
    .pipe(rename({ suffix: '.min' }))
    .pipe(uglify())
    .pipe(gulp.dest('assets/compiled/js'))
});
我传递了相同的scriptFiles数组以尝试保留顺序。但它没有起作用

然后我尝试了streamqueue插件,并更改了任务:

gulp.task('lib-js', function() {
  return streamqueue({ objectMode: true },
      gulp.src('assets/lib/js/angular.min.js'),
      gulp.src('assets/lib/js/angular-sanitize.min.js'),
      gulp.src('assets/lib/js/angular-route.min.js?v=20161018-1'),
      gulp.src('assets/lib/js/angular-ui-router.min.js'),
      gulp.src('assets/lib/js/angular-css.min.js'),
      gulp.src('assets/lib/js/angular-select.min.js'),
      gulp.src('assets/lib/js/jquery-2.1.1.min.js'),
      gulp.src('assets/lib/js/material.min.js'),
      gulp.src('assets/lib/js/ocLazyLoad.min.js'),
      gulp.src('assets/lib/js/duration.js'),
      gulp.src('assets/lib/js/ui-codemirror.min.js')
    )
    .pipe(concat('vendor.js'))
    .pipe(gulp.dest('assets/compiled/js'))
    .pipe(rename({ suffix: '.min' }))
    .pipe(uglify())
    .pipe(gulp.dest('assets/compiled/js'))
});

这也不管用。我无法调试为什么会发生这种情况。“order”和“streamqueue”插件对输出没有影响。有什么想法/解决方案吗?

可能的重复尝试从您的管道中删除除
concat
步骤之外的所有内容,以确保不是另一个插件破坏了顺序。感谢@SvenSchoenung,这是因为ui codemirror功能由于丑陋的插件而提升。在添加了
uglify({compress:{child\u funs:false}}
之后,它成功了。感谢@jannis的帮助