任务' sass'不在你的gulpfile中

时间:2015-07-16 12:22:23

标签: gulp frontend gulp-sass

我已经使用npm安装了gulp和gulp-sass。

按照github上关于gulp和gulp-sass的示例,我创建了这个简单的gulpfile:

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

gulp.task('default', function() {

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

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

}) ;

如果我跑步' gulp'没有什么真正发生 - 正如预期的那样我回来了

[00:20:20] Using gulpfile ~/wa/myproj/gulpfile.js
[00:20:20] Starting 'default'...
[00:20:20] Finished 'default' after 64 μs

这一切都很好,花花公子。

然而,当我跑步时,我会跑步。我回来了:

[00:21:38] Using gulpfile ~/wa/myproj/gulpfile.js
[00:21:38] Task 'sass' is not in your gulpfile
[00:21:38] Please check the documentation for proper gulpfile formatting

我显然已经为“sass'”定义了一个taks。我错过了什么?

4 个答案:

答案 0 :(得分:2)

它可能没有调用,因为它是默认的函数,默认情况下默认需要调用其他函数。



var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('sass', function(){
    gulp.src('./sass/**/*.scss')
        .pipe(sass())
        .pipe(gulp.dest('./css'));
});
gulp.task('watch', function(){
    gulp.watch('./sass/**/*.scss',['sass']);
});
gulp.task('default', ['sass','watch']);




答案 1 :(得分:1)

我明白了:

' sass'任务被包含在'默认'任务。

这有效:

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

gulp.task('default', function() {

}) ;

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

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

答案 2 :(得分:1)

当我使用gulp scss命令时,我遇到了同样的问题“任务'sass'不在你的gulpfile”

但是当我的朋友在命令提示符下运行 gulp css 命令时,它通过更新CSS文件正常工作。请看下面的图片,我希望这可以帮到你。

enter image description here

答案 3 :(得分:0)

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

gulp.task('sass', function(){
    gulp.src('./scss/**/*.scss')
        .pipe(sass())
        .pipe(gulp.dest('./css'));
});

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

这对我有用。试试看。但我不得不说My SASS文件夹的名字是'scss'。我更改了名称并删除了默认任务。