2016-09-02 127 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