嗨,我在设置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']);
这是我的输出
答案 0 :(得分:1)
因此,您会遇到两种错误:
1。 Task function must be specified
gulp运行依赖任务的方式在v4.0.0中已更改。而不是像这样在数组中指定这些任务:
gulp.task('run',['sass','css']);
他们引入了gulp.series
和gulp.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'));
请注意,您可以根据需要将sass
和css
任务组合在一起:
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'));
});