2017-06-07 2 views
0

Je vois un problème similaire à celui-ci (gulp-concat twice the content). Cependant, je vide le fichier concaténé dans un répertoire différent, donc il n'entraîne pas le fichier concaténé résultant dans la tâche, mais je vois le contenu de chaque fichier doubler pour une raison quelconque.gulp-concat ajoute deux fois les mêmes fichiers

Mon fichier gulp est comme suit:

/* jshint node: true */ 

module.exports = function (gulp, options, plugins) { 
    var merge = require('merge-stream'); 
    var uglify = require('gulp-uglify'); 
    var pump = require('pump'); 
    var gp_concat = require('gulp-concat'); 
    var gp_rename = require('gulp-rename'); 
    var gp_ignore = require('gulp-ignore'); 
    var ngAnnotate = require('gulp-ng-annotate'); 

    var paths = require('../paths'); 
    var utils = require('../utils'); 

    var base = [ 
     paths.APP, 
     paths.ETC, 
     paths.DESIGN 
    ]; 

    gulp.task('scripts:clean', function() { 
     var srcOptions = { 
      read: false 
     }; 

     var tasks = base.map(function (folder) { 
      return gulp.src(folder + '/**/' + paths.GENERATED_SUBPATH + '/js/**/*.js', srcOptions) 
       .pipe(plugins.clean({force: true})); 
     }); 

     return merge(tasks); 
    }); 


    gulp.task('compress', function() { 
     var filesToInclude = ['**/app/components/**/*.js' 
           ]; 
     var excludeCondition = '**/*.spec*.js' 
     var fileToDest = paths.GLOBAL + '/'+paths.GENERATED_SUBPATH + '/js'; 
     return gulp.src(filesToInclude) 
      .pipe(gp_ignore.exclude(excludeCondition)) 
      .pipe(ngAnnotate({add: true})) 
      .pipe(gp_concat('all.concat.js')) 
      .pipe(gulp.dest('dist')) 
      .pipe(gp_rename('all.min.js')) 
      .pipe(uglify()) 
      .pipe(gulp.dest(fileToDest)); 
    }); 



    gulp.task('scripts:build', ['scripts:clean', 'compress']); 
}; 

Quelqu'un peut-il me aider à comprendre pourquoi le

var filesToInclude = ['**/app/components/**/*.js]; 

apporterait dans chaque fichier deux fois? J'ai vérifié les fichiers et non, les fichiers ne sont pas dupliqués n'importe où.

+0

Aussi, juste pour être clair, je regarde le fichier all.concat.js et je remarque que tout est dupliqué, pas le fichier all.min.js – daitienshi

Répondre

1

Il semble que le problème était avec la définition des fichiers ToInInclude, commençant par un caractère générique. Étant donné que fileToDest place le fichier dans un répertoire cible distinct, mais que la structure est la même, le processus récupère deux fois les fichiers.