尝试获取uglify和默认gulp的Gulp错误

时间:2019-02-07 17:44:57

标签: javascript gulp

嗨,我在设置gulp时遇到麻烦,自从我上次使用它以来,似乎一切都变了 我遇到错误,无法弄清楚原因。我将在代码中张贴一些图片。第一个问题是uglify尚未完成,第二个问题是gulp default无法运行命令提示符应该比我能更好地解释我的问题。如果您还有其他问题,请提出询问并保持民事态度。

var gulp = require('gulp');
var sass = require('gulp-sass');
var uglifycss = require('gulp-uglifycss');




sass.compiler = require('node-sass');

gulp.task('sass', function () {
 return gulp.src('./Edit/sass/*.scss')
   .pipe(sass().on('error', sass.logError))
   .pipe(gulp.dest('./Edit/css'));
});


gulp.task('css', function () {
  gulp.src('./Edit/css/*.css')
    .pipe(uglifycss({
      "maxLineLen": 80,
      "uglyComments": true
    }))
    .pipe(gulp.dest('./upload/css'));
});



gulp.task('run',['sass','css']);

gulp.task('watch', function(){
    gulp.watch('./Edit/sass/*.scss',['sass']);
    gulp.watch('./Edit/css/*.css',['css']);
});

gulp.task('default',['watch', 'run']);

这是我的输出

uglify errors

default errors

1 个答案:

答案 0 :(得分:1)

因此,您会遇到两种错误:

1。 Task function must be specified

gulp运行依赖任务的方式在v4.0.0中已更改。而不是像这样在数组中指定这些任务:

gulp.task('run',['sass','css']);

他们引入了gulp.seriesgulp.parallel函数。任务函数,而不是数组,因为Task function must be specified。在您的情况下,可以得出:

gulp.task('run', gulp.series('sass','css'));

2。 Did you forget to signal async completion

鉴于这个问题已经被问过很多次了,您可能已经找到了。您需要在css任务中添加return语句,以使gulp知道何时完成并可以继续前进。您的任务将变为:

gulp.task('css', function () {
  return gulp.src('./Edit/css/*.css')
    .pipe(uglifycss({
      "maxLineLen": 80,
      "uglyComments": true
    }))
    .pipe(gulp.dest('./upload/css'));
});

结果:

将它们放在一起,就得到了这个gulpfile:

var gulp = require('gulp');
var sass = require('gulp-sass');
var uglifycss = require('gulp-uglifycss');

sass.compiler = require('node-sass');

gulp.task('sass', function () {
 return gulp.src('./Edit/sass/*.scss')
   .pipe(sass().on('error', sass.logError))
   .pipe(gulp.dest('./Edit/css'));
});


gulp.task('css', function () {
  return gulp.src('./Edit/css/*.css')
    .pipe(uglifycss({
      "maxLineLen": 80,
      "uglyComments": true
    }))
    .pipe(gulp.dest('./upload/css'));
});



gulp.task('run', gulp.series('sass','css'));

gulp.task('watch', function(){
    gulp.watch('./Edit/sass/*.scss',gulp.series('sass'));
    gulp.watch('./Edit/css/*.css', gulp.series('css'));
});

gulp.task('default', gulp.series('watch', 'run'));

请注意,您可以根据需要将sasscss任务组合在一起:

gulp.task('styles', function(){
  return gulp.src('./Edit/sass/*.scss')
   .pipe(sass().on('error', sass.logError))
   .pipe(uglifycss({
    "maxLineLen": 80,
    "uglyComments": true
  }))
  .pipe(gulp.dest('./upload/css'));
});