2015-07-12 1 views
6

newbie Gulp ici, j'ai téléchargé gulp-order pour commander les fichiers js quand concating * .js parce que certains de mes fichiers javascript nécessitent jquery pour charger en premier. Ci-dessous sont mes gulpfile.js qui ont ordre, concat, renommer & uglify.gulp ordre: non commande correctement

var date = new Date(); 
var uniq = date.getTime(); 

gulp.task('admin-scripts', function() { 
    return gulp.src(['assets/admin/js/*.js','!assets/admin/js/respond.min.js','!assets/admin/js/html5shiv.js']) 
     .pipe(order([ 
      "assets/admin/js/jquery.min.js", 
      'assets/admin/js/*.js' 
     ])) 
     .pipe(concat(uniq+'admin.js')) 
     .pipe(gulp.dest('build/assets/admin/js/')) 
     .pipe(rename(uniq+'admin.min.js')) 
     .pipe(uglify()) 
     .pipe(gulp.dest('build/assets/admin/js/')); 
}); 

Mais il semble que la commande ne fonctionne pas.

la commande est la base sur l'alphabet a.js> z.js au lieu de jquery.min.js> a.js> z.js

est-ce que j'avais tort du code sur la gulpfile.js?

+0

gulp commande fonctionne exactement comme prévu .. il commander des fichiers par leur nom et ne considère pas leur position dans la source d'entrée .. il ne dispose d'aucun moyen d'exclure le fichier de commander ou garder ces fichiers au top type de fonctionnalité ... – harishr

+1

pour injecter jquery etc ... vous devez utiliser gulp-wiredep ... et juste commander des fichiers que vous développez ... wiredep va commander des fichiers basés sur le graphique de dépendance – harishr

Répondre

4

Le problème de mon gulp ordre ne commande est correctement/ne fonctionne pas parce que je mettrais un mauvais chemin, le chemin doit être relatif aux js dossier:

ordre: jquery.min.js

ordre incorrect: actifs/admin/js/jquery.min.js

var date = new Date(); 
var uniq = date.getTime(); 

gulp.task('admin-scripts', function() { 
    return gulp.src(['assets/admin/js/*.js','!assets/admin/js/respond.min.js','!assets/admin/js/html5shiv.js']) 
     .pipe(order([ 
      "jquery.min.js", 
      '*.js' 
     ])) 
     .pipe(concat(uniq+'admin.js')) 
     .pipe(gulp.dest('build/assets/admin/js/')) 
     .pipe(rename(uniq+'admin.min.js')) 
     .pipe(uglify()) 
     .pipe(gulp.dest('build/assets/admin/js/')); 
}); 
8

ajoutantl'optionfixe pour moi:

.pipe(order([ 
     'public/js/jquery-1.11.1.min.js', 
     'public/js/bootstrap.min.js' 
    ], { base: './' })) 
+0

Fonctionne bien, avec {base} tout fonctionne bien et avec l'ordre approprié. Merci! –