运行gulp.series()时出现问题

运行gulp.series()时出现问题,gulp,gulp-task,Gulp,Gulp Task,我的任务是在JS文件投入生产时缩小它 function scriptsToMinify() { if(require('yargs').argv.production) { return gulp.src(src.JSFile) .pipe(sourcemaps.init()) .pipe(ngAnnotate( { remove: true, add: true, single_quotes: true })) .pipe

我的任务是在JS文件投入生产时缩小它

function scriptsToMinify() {
 if(require('yargs').argv.production)
 {
  return gulp.src(src.JSFile)
  .pipe(sourcemaps.init())
  .pipe(ngAnnotate(
    {
      remove: true,
      add: true,
      single_quotes: true
    }))
  .pipe(concat('app.min.js'))
  .pipe(uglify())
  .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); })
  .pipe(sourcemaps.write())
  .pipe(gulp.dest('public'));
 }
}
当我在本地运行时,它不会运行依赖任务

gulp.task('inject-scripts', gulp.series(scriptsToMinify, function() {

  var thridPartyScripts = gulp.src(src.thirdPartyJS, { read: false })      
  var scripts = gulp.src([src.app_js, src.directiveJS], { read: false })

  return gulp.src('views/index.html')
.pipe(inject(series(thridPartyScripts, scripts))) // Inject files in an order to run the application without any dependency error.
.pipe(cachebust({ // Add the timestamp to the injected files to avoid cache issue
  type: 'timestamp'
}))
.pipe(gulp.dest('views'));
});
上面的任务使我犯了错误

 The following tasks did not complete: default, inject-scripts, scriptsToMinify
 Did you forget to signal async completion?

将scriptsToMinify任务更改为

function scriptsToMinify(done) {
 if(require('yargs').argv.production)
 {
  return gulp.src(src.JSFile)
  .pipe(sourcemaps.init())
  .pipe(ngAnnotate(
    {
      remove: true,
      add: true,
      single_quotes: true
    }))
  .pipe(concat('app.min.js'))
  .pipe(uglify())
  .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); })
  .pipe(sourcemaps.write())
  .pipe(gulp.dest('public'));
 }
else{
  done();
}
}

当任务完成时,您必须返回信号,因此您必须通过回调。

所以您在不运行生产时遇到问题?是的,当它不是生产时,它抛出错误。此文件与我们用于产品和本地开发的文件相同。在第三次大口喝的时候是空的,但在新的第四次大口喝的时候是不允许的。谢谢你,伙计。我不知道我们可以这样回来。你的代码有效!!!