Gulp命令 - 如何连接或添加某个javascript文件?

时间:2015-07-30 17:41:09

标签: javascript gulp bower

我正在使用gower与bower和许多其他脚本具有以下目录结构:

.
|- bower_components
|---- various_packages
|- js
|---- functions.js (my custom javascript)
|---- test_example_vendor_item.js

我的gulp正在使用main-bower-files来获取bowser文件,然后连接我的其他js文件。

主要问题是,在js文件夹中,我需要在functions.js之后连接test_example_vendor_item.js

除了简单地将functions.js重命名为zzz_functions.js,或将所有其他文件重命名为zzz_vendor.example.js之外,是否有办法确保functions.js最后连接?

我试图使用gulp-order无效,显然初始通配符会按原始顺序接受所有内容:

gulp.task('js', function() {
  var jsFiles = ['js/*'];
  gulp.src(plugins.mainBowerFiles().concat(jsFiles))
      .pipe(plugins.filter('*.js'))
      .pipe(plugins.order([
        '*',
        'functions.js'
      ]))
      .pipe(plugins.concat('main.js'))
      .pipe(plugins.uglify())
      .pipe(gulp.dest(dest + 'js'))
});

1 个答案:

答案 0 :(得分:1)

当然。 。

 gulp.task('js', function() {
   var jsFiles = ['js/*'];
   gulp.src(plugins.mainBowerFiles().concat(jsFiles))
    .pipe(plugins.filter('*.js'))
    .pipe(plugins.order([
      '!(functions.js)*',
      'functions.js'
    ]))
    .pipe(plugins.concat('main.js'))
    .pipe(plugins.uglify())
    .pipe(gulp.dest(dest + 'js'))
});

想法是选择除functions.js之外的所有js文件,然后选择functions.js。