我以前没有使用过Gulp,所以我不会把一个旧的gulpfile迁移到Gulp4上,我只是想设置一些基本的任务。然而,不管我用来发信号通知异步完成的方法,就像this post中记录的那样,我仍然得到“你忘了发信号通知异步完成了吗?”错误。
'use strict';
/*
=====
PLUGINS
=====
*/
var gulp = require('gulp'),
plumber = require('gulp-plumber');
// sass
var sass = require('gulp-sass');
sass.compiler = require('node-sass');
// js
var concat = require('gulp-concat'),
uglify = require('gulp-uglify');
/*
=====
TASKS
=====
*/
gulp.task('sass', function() {
return gulp.src('./lib/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./lib/build'))
})
/*
=====
EXPORT TASKS
=====
*/
exports.sass = sass;有了这个超级基本的设置,它不应该工作吗?return gulp.src不返回流吗?我遗漏了什么?
节点10.15.0、Gulp CLI 2.2.0、Gulp 4.0.1
发布于 2019-04-26 05:04:52
试一试
// exports.sass = sass;
exports.sass = gulp.series('sass');或
exports.sass = 'sass';您使用的是任务版本(gulp.task),因此需要报价。
如果您使用的是函数版本(推荐):
function sass2 () {
return gulp.src('./lib/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./lib/build'))
};然后
exports.sass = sass2;工作正常。注意,您已经有了一个var sass,所以您必须将您的function sass2命名为其他名称,而不仅仅是sass。
https://stackoverflow.com/questions/55856266
复制相似问题