2017-08-01 111 views
1

不執行我有一個大口的任務在主文件assets.min.js來連接,然後再縮小我的js文件(filesJs陣列),但我的文件不會在爲了我的串接陣列..一飲而盡,醜化陣列爲了

的代碼:

var gulp = require('gulp'); 
var gulpConcat = require('gulp-concat'); 
var gulpPlumber = require('gulp-plumber'); 
var gulpSourceMaps = require('gulp-sourcemaps'); 
var gulpUglify = require('gulp-uglify'); 

var pathSource = 'web/bundles/sf'; 
var pathSourceJs = pathSource + '/js'; 

var pathTarget = 'web/bundles/sf/build'; 
var pathTargetJs = pathTarget + '/js'; 

var filesJs = [ 
    pathSourceJs + '/jquery.js', 
    pathSourceJs + '/jquery1.7.2.js', 
    pathSourceJs + '/jquery.themepunch.plugins.min.js', 
    pathSourceJs + '/jquery.themepunch.revolution.min.js', 
    pathSourceJs + '/jquery.stellar.js', 
    pathSourceJs + '/custom.js', 
    pathSourceJs + '/jquery.jcarousel.min.js', 
    pathSourceJs + '/waypoints.js', 
    pathSourceJs + '/jquery.easypiechart.min.js', 
    pathSourceJs + '/nimble.js', 
    pathSourceJs + '/scrollspy.js', 
    pathSourceJs + '/jquery.fancybox.pack.js', 
    pathSourceJs + '/jquery.appear.js', 
    pathSourceJs + '/bootstrap.js', 
    pathSourceJs + '/counters.js', 
    pathSourceJs + '/slider.js', 
    pathSourceJs + '/revolution.js', 
    pathSourceJs + '/contact.js', 
    pathSourceJs + '/html5shiv.js', 
    pathSourceJs + '/respond.min.js' 
]; 

gulp.task('minify-javascript', function() { 
    return gulp.src(filesJs, {base: pathSource + '/'}) 
     .pipe(gulpPlumber(function(error) { 
      console.log(error.toString()); 
      this.emit('end'); 
     })) 
     .pipe(gulpSourceMaps.init()) 
     .pipe(gulpConcat(outputFileNameJs)) 
     .pipe(gulpUglify()) 
     .pipe(gulpSourceMaps.write('.')) 
     .pipe(gulp.dest(pathTargetJs)); 
}); 

輸出文件被以該順序(壞順序)精縮,而不是在陣列filesJs定義的順序:

"sources": 
[ 
    "js/slider.js", 
    "js/contact.js", 
    "js/bootstrap.js", 
    "js/jquery.js", 
    "js/jquery1.7.2.js", 
    "js/jquery.themepunch.plugins.min.js", 
    "js/jquery.themepunch.revolution.min.js", 
    "js/jquery.stellar.js", 
    "js/custom.js", 
    "js/jquery.jcarousel.min.js", 
    "js/waypoints.js", 
    "js/jquery.easypiechart.min.js", 
    "js/nimble.js", 
    "js/scrollspy.js", 
    "js/jquery.fancybox.pack.js", 
    "js/jquery.appear.js", 
    "js/counters.js", 
    "js/revolution.js", 
    "js/html5shiv.js", 
    "js/respond.min.js" 
] 

的的concat是爲了,但不是微型陽離子。

我不明白爲什麼..提前

感謝您的幫助

回答

0

如果你的JS文件有互相之間有關係,gulpUglify很可能會重新安排的順序。

請嘗試關閉功能提升:

.pipe(gulpUglify({ 
     compress: {hoist_funs: false} 
    }))