使用Gulp编译SASS及自动更新时遇‘Task never defined: sass’错误
解决Gulp报错“Task never defined: sass”
问题根源
- 你大概率是执行了
gulp sass命令,但你的代码里根本没定义名为sass的任务,只有build_styles这个任务。 - Gulp 4+要求必须显式导出任务,你的代码里没有导出
build_styles,导致Gulp识别不到这个任务。
修正方案
修改代码添加任务导出,还可以给build_styles起sass别名,适配你习惯的命令:
'use strict'; const gulp = require('gulp'); const sass = require('gulp-sass')(require('sass')); function build_styles() { return gulp.src('./app/sass/**/*.scss') .pipe(sass().on('error', sass.logError)) .pipe(gulp.dest('./dist')); }; // 导出build_styles任务,让Gulp能识别 exports.build_styles = build_styles; // 可选:添加sass别名,这样你就能用gulp sass命令运行了 exports.sass = build_styles;
正确运行命令
- 若只导出
build_styles,运行:gulp build_styles - 若添加了
sass别名,直接运行:gulp sass
额外检查点
- 确认依赖安装完整:执行
npm install gulp gulp-sass sass --save-dev - 检查Gulp版本:运行
gulp -v,如果是3.x版本,任务注册要改成gulp.task('build_styles', build_styles);,而非导出方式。
内容的提问来源于stack exchange,提问作者Ed-RIFT
相关产品推荐
相关产品推荐

