2016-09-28 72 views
1

我运行下面的任务,任务没有完成,但任务正常工作。我使用手动回调,但没有改变。Gulp任务没有完成但工作正常

gulp.task('compileSrc', 
    function() { 
     const imgFilter = plugin.filter('**/*.{jpg,png,gif}', {restore: true}); 
     const fontFilter = plugin.filter('**/*.{ttf,woff,woff2,eot,svg}', {restore: true}); 
     const cssFilter = plugin.filter('**/*.css', {restore: true}); 
     const jsFilter = plugin.filter('**/*.js', {restore: true}); 
     const htmlFilter = plugin.filter('**/*.html', {restore: true}); 

     return gulp.src([paths.src + '/css/**/*.css', paths.src + '/fonts/**/*', paths.src + '/img/**/*', paths.app + '/**/*']) 
     // CSS ****************************************************************** 
      .pipe(cssFilter) 
      .pipe(plugin.concat('app.css'))     // merge all css file to one file 
      // min css file 
      .pipe(
       plugin.minCss({ 
        compatibility: 'ie8', 
        keepSpecialComments: false 
       }) 
      ) 
      // rename css file 
      .pipe(
       plugin.rename({ 
        suffix: '.min' 
       }) 
      ) 
      .pipe(gulp.dest(paths.dist + '/src/css'))   // save to hard file 
      .pipe(cssFilter.restore) 
      // Html Template ****************************************************************** 
      .pipe(htmlFilter) 
      /* minify html */ 
      .pipe(
       plugin.minHtml({ 
        collapseWhitespace: true, 
        removeComments: true 
       }) 
      ) 
      /* convert html file to angular template cache */ 
      .pipe(
       plugin.templateCache({ 
        module: 'rainCrm', 
        root: paths.app 
       }) 
      ) 
      .pipe(htmlFilter.restore) 
      // JS ****************************************************************** 
      .pipe(jsFilter) 
      .pipe(plugin.ngAnnotate()) 
      .pipe(plugin.angularFilesort())   // sort angular files 
      .pipe(plugin.concat('app.js'))   // merge all js file to one file 
      .pipe(plugin.minJs())      // min js file 
      // rename js file 
      .pipe(
       plugin.rename({ 
        suffix: '.min' 
       }) 
      ) 
      .pipe(gulp.dest(paths.dist + '/src/js'))   // save to hard file 
      .pipe(jsFilter.restore) 
      // IMG ****************************************************************** 
      .pipe(imgFilter) 
      .pipe(gulp.dest(paths.dist + '/src/img'))   // save to hard file 
      .pipe(imgFilter.restore) 
      // FONT ****************************************************************** 
      .pipe(fontFilter) 
      .pipe(gulp.dest(paths.dist + '/src/fonts'));  // save to hard file 
    } 
); 

结果:

[00:24:18] Starting 'compileSrc'... 

Process finished with exit code 0 

但低于任务完成正确的。

/* compile libraries */ 
gulp.task('compileLibs', 
    function() { 
     const jsFilter = plugin.filter('**/*.js', {restore: true}); 
     const cssFilter = plugin.filter('**/*.css', {restore: true}); 

     return gulp.src(
      plugin.mainBowerFiles({ 
       overrides: { 
        "font-awesome": { 
         main: [ 
          "css/font-awesome.min.css", 
          "fonts/**/*" 
         ] 
        }, 
        "persian-date": { 
         main: [ 
          "dist/0.1.8/persian-date-0.1.8.js" 
         ] 
        } 
       } 
      }) 
     ) 
     // CSS ****************************************************************** 
      .pipe(cssFilter) 
      .pipe(plugin.concat('libs.css'))   // merge all css file to one file 
      // min css file 
      .pipe(
       plugin.minCss({ 
        compatibility: 'ie8', 
        keepSpecialComments: false 
       }) 
      ) 
      // rename css file 
      .pipe(
       plugin.rename({ 
        suffix: '.min' 
       }) 
      ) 
      .pipe(gulp.dest(paths.dist + '/src/css')) 
      .pipe(cssFilter.restore) 
      // JS ****************************************************************** 
      .pipe(jsFilter) 
      .pipe(plugin.concat('libs.js'))   // merge all js file to one file 
      .pipe(plugin.minJs())       // min js file 
      // rename css file 
      .pipe(
       plugin.rename({ 
        suffix: '.min' 
       }) 
      ) 
      .pipe(gulp.dest(paths.dist + '/src/js')) 
      .pipe(jsFilter.restore) 
      // FONTS ****************************************************************** 
      .pipe(plugin.filter('**/*.{ttf,woff,woff2,eot,svg,png,jpg,gif}')) 
      .pipe(gulp.dest(paths.dist + '/src/fonts')); 
    } 
); 

谢谢。

+0

这并不直接回答你的问题,但我强烈建议您将自己吞任务分解成更小的逻辑块凝聚力(即'“compileSrc”'是由任务''compileStyles“',''compileScripts”'','compileResources“')。这样做后,这个问题很可能会跳出来。 – souldzin

回答

0

谢谢。我发现问题。

const fontFilter = plugin.filter('**/*.{ttf,woff,woff2,eot,svg}', {restore: true}); 

必须从最后一个过滤器中删除恢复选项。 (与返回物流问题过滤器插件)

const fontFilter = plugin.filter('**/*.{ttf,woff,woff2,eot,svg}');