2015-07-12 28 views
6

咕嘟咕嘟新手,我下載gulp-order爲concating 當JS訂貨文件* .js文件 因爲我的一些JavaScript文件要求jQuery的第一加載。一飲而盡階:不訂貨這裏正確

下面是我的gulpfile.js,它有順序,concat,重命名& uglify。

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/')); 
}); 

但似乎排序不起作用。

的排序是字母a.js基地> z.js,而不是jquery.min.js> a.js> z.js

有什麼我的錯倒是碼gulpfile.js?

+0

一飲而盡,爲了工作完全按照預期..它訂購他們的名字文件,不考慮其在輸入源位置..它沒有排除文件的任何方式從訂購或保持這些文件的頂級種功能... – harishr

+1

注入jquery等...你應該使用gulp-wiredep ...並且只需訂購你開發的文件... wiredep將訂購基於依賴關係圖的文件 – harishr

回答

4

我一飲而盡,爲了不正確排序/無法正常工作的問題是因爲我把錯誤的路徑,該路徑應該是相對於JS文件夾:

正確的順序:jquery.min.js

不正確的順序:資產/管理/ 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

加入base選項固定對我來說:

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

運行良好,{base}一切正常,並且順序正確。謝謝! –