2016-09-02 182 views
0

創建網站時,我曾經單獨鏈接所有腳本,一切正常。我現在正在學習使用gulp,並注意到在連接我的JS文件後,一些腳本停止工作(再次,它們在單獨加載時都工作)。腳本在gulp concat後停止工作

我在網上發現的唯一的事情是,我可能不得不以某種順序連接文件。我試圖改變gulpfile.js任務的順序無濟於事。我試圖在gulpfile.js任務中逐個刪除文件無濟於事。

此外,我將Modernizr和JQuery始終保存在頭文件中並單獨加載(它們不與其他文件連接),而連接的JS文件位於頁腳中,因此在加載後。

HTML文件看起來是這樣的:

<!DOCTYPE html> 
    <html> 
    <head> 

     <meta ...> 
     <link...> 

     <script src="https://code.jquery.com/jquery-3.1.0.min.js"></script> 
     <script src="https://code.jquery.com/jquery-migrate-3.0.0.min.js"></script> 
     <script src="assets/scripts/modernizr.js"></script> 

     <title>Some Title</title> 

    </head> 

    <body> 

    WEBSITE CONTENT 

     <script src="assets/scripts/scripts.min.js"></script> /*Concatenated file*/ 

    </body> 
</html> 

我一飲而盡任務(gulpfile.js)看起來像這樣(我已經分開腳本數組來連接,以便你們可以看到文件):

gulp.task('js', function(){ 
    return gulp.src([ 
     'assets/scripts/base/bootstrap.js', 
     'assets/scripts/base/retina.js', 
     'assets/scripts/base/smoothscroll.js', 
     'assets/scripts/base/waypoints.js', 
     'assets/scripts/base/wow.js', 
     'assets/scripts/plugins/bootstrap.filestyle.js', 
     'assets/scripts/plugins/jquery.counterup.js', 
     'assets/scripts/plugins/jquery.matchHeight.js', 
     'assets/scripts/plugins/lightcase.js', 
     'assets/scripts/plugins/slick.js', 
     'assets/scripts/plugins/global.js' 
    ]) 
    .pipe(plumber({ 
     errorHandler: function (error) { 
     console.log(error.message); 
     this.emit('end'); 
    }})) 
    .pipe(concat('scripts.js')) 
    .pipe(babel()) 
    .pipe(gulp.dest('assets/scripts/')) 
    .pipe(rename({suffix: '.min'})) 
    .pipe(uglify()) 
    .pipe(gulp.dest('assets/scripts/')) 
    .pipe(browserSync.reload({stream:true})) 
}); 

現在,我注意到腳本停止工作是在lighcase.js(燈箱),jquery.matchHeight.js(匹配柱高度)和slick.js(滑塊)。

編輯:我的控制檯上沒有錯誤。只有消息「JQMIGRATE:Migrate is installed,version 3.0.0」。

任何幫助,將不勝感激。經過一個星期試圖找到這個問題背後的邏輯,我放棄了哈哈。幫助新手!

+0

那麼,他們是否默默地「停止工作」?或者可能會在控制檯中引發一些錯誤? – zerkms

+0

我在控制檯上唯一的消息是:JQMIGRATE:Migrate已安裝,版本3.0.0。 但沒有紅色錯誤警報。 – user3163410

+0

那麼,請驗證您的腳本是否正在加載。然後在入口點設置一個斷點等。 – matmo

回答

0

媽呀,這麼多的工作,以調試和它最終只是那是錯誤的,我gulpfile任務我global.js路徑...

'assets/scripts/plugins/global.js' 

那應該是:

'assets/scripts/base/global.js' 

男人,我覺得像一個延遲。謝謝你幫助傢伙......:S