【问题标题】:Task 'sass' is not in your gulpfile任务“sass”不在您的 gulpfile 中
【发布时间】:2015-07-16 12:22:23
【问题描述】:

我已经使用 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

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

但是,当我运行“gulp sass”时,我得到了这个:

[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。我错过了什么?

【问题讨论】:

    标签: gulp frontend gulp-sass


    【解决方案1】:

    它可能没有调用,因为它是该函数在默认值内,并且默认值需要在将其定义在默认值之外之后调用其他函数。

    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']);

    【讨论】:

      【解决方案2】:

      我想通了:

      “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']);
      });
      

      【讨论】:

        【解决方案3】:

        当我使用 gulp scss 命令时,我遇到了同样的问题“Task 'sass' is not in your gulpfile”

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

        【讨论】:

          【解决方案4】:
          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']);
          });
          

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-04-13
            • 1970-01-01
            • 2017-05-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多