2015-11-18 3 views
0

Я установил gulp и некоторые другие пакеты в корневой каталог моего проекта в Visual Studio, Windows 7. Я нахожу, что всякий раз, когда я запускаю команду глоток часы или компас глотка часы я получаю следующее сообщение об ошибке:Почему gulp compass выбрасывает TypeError: dest.on не является функцией в моей среде Windows 7

C:\MyProject>gulp compass watch 
[11:03:53] Using gulpfile C:\MyProject\gulpfile.js 
[11:03:53] Starting 'compass'... 
[11:03:53] 'compass' errored after 6.09 ms 
[11:03:53] TypeError: dest.on is not a function 
at DestroyableTransform.Readable.pipe   (C:\MyProject\node_modules\gulp\node_modules\vinyl-fs\node_modules\through2\no 
de_modules\readable-stream\lib\_stream_readable.js:516:8) 
at Gulp.<anonymous> (C:\MyProject\gulpfile.js:23:10) 
at module.exports  (C:\MyProject\node_modules\gulp\node_modules\orchestrator\lib\runTask.js:34:7) 
at Gulp.Orchestrator._runTask  (C:\MyProject\node_modules\gulp\node_modules\orchestrator\index.js:273:3) 
at Gulp.Orchestrator._runStep (C:\MyProject\node_modules\gulp\node_modules\orchestrator\index.js:214:10) 
at Gulp.Orchestrator.start (C:\MyProject\node_modules\gulp\node_modules\orchestrator\index.js:134:8) 
at C:\Users\username\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:129: 
20 
    at doNTCallback0 (node.js:417:9) 
    at process._tickCallback (node.js:346:13) 
    at Function.Module.runMain (module.js:469:11) 

Вот мой gulpfile.js:

// Include Our Plugins 
var gulp = require('gulp'); 
var sass = require('sass'); 
var compass = require('compass'); 
var rename = require('gulp-rename'); 

var config = { 
    bootstrapDir: 'node-modules/bootstrap-sass', 
    publicDir: 'Content', 
}; 
// Pipe boostrap-sass to main css directory 
gulp.task('css', function() { 
    gulp.src('Content/scss/bootstrap-app.scss') 
    .pipe(sass({ 
     includePaths: [config.bootstrapDir + '/assets/stylesheets'], 
})) 
.pipe(gulp.dest(config.publicDir + '/css')); 
}); 

// Compile with Compass 
gulp.task('compass', function() { 
    return gulp.src('Content/scss/*.scss') 
     .pipe(compass({ 
     // config_file: 'node_modules/compass/test/config.rb', 
      css: 'css', 
      sass: 'scss' 
    })) 
    .pipe(gulp.dest('Content/css')); 
}); 

// Watch Files For Changes 
gulp.task('watch', function() { 
    gulp.watch('Content/scss/*.scss', ['compass']); 
}); 

// Default Task 
gulp.task('default', ['compass', 'watch']); 

Любой помощь на этом высоко ценится. Спасибо,

ответ

0

Вам необходимо установить и потребовать gulp-compass, а не compass.

+0

Спасибо @Louis, я сделал то, что сработало, но теперь получило новую ошибку: events.js: 141 throw er; // Ошибка Unhandled 'error ^ Ошибка: вам необходимо установить Ruby и Compass и в вашу систему PATH для выполнения этой задачи. Я подозреваю, что мне нужно будет открыть для себя новую тему, но было бы здорово получить ответы здесь. –