我已经使用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。我错过了什么?
答案 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文件正常工作。请看下面的图片,我希望这可以帮到你。
答案 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'。我更改了名称并删除了默认任务。