Compiler errors Gulp Sass编译错误

Compiler errors Gulp Sass编译错误,compiler-errors,sass,compilation,gulp,Compiler Errors,Sass,Compilation,Gulp,这是我当前的目录树: 下面是我的gulpfile.js代码: var gulp = require ('gulp'), gutil = require('gulp-util'), uglify = require('gulp-uglify'), sass = require('gulp-ruby-sass'), concat = require('gulp-concat'), livereload = require('gulp-livereload')

这是我当前的目录树:

下面是我的gulpfile.js代码:

var gulp = require ('gulp'),
    gutil = require('gulp-util'),
    uglify = require('gulp-uglify'),
    sass = require('gulp-ruby-sass'),
    concat = require('gulp-concat'),
    livereload = require('gulp-livereload'),
    lr = require('tiny-lr'),
    server = lr();

var jsSources = ['components/scripts/scriptOne.js',
                 'components/scripts/scriptTwo.js'
];

var sassSources = [
  'comptonents/sass/*.scss'
];

gulp.task('js', function() {
    gulp.src(jsSources)
              .pipe(uglify())
              .pipe(concat ('script.js'))
              .pipe(gulp.dest('js'));
});

gulp.task('sass', function() {
  gulp.src(sassSources)
    .pipe(sass({style: 'expanded', lineNumbers: true}))
    .on('error', gutil.log)
    .pipe(concat('style.css'))
    .pipe(gulp.dest('css'))
    .pipe(livereload());
});


gulp.task('watch', function() {
  var server = livereload();
  gulp.watch(jsSources, ['js']);
  gulp.watch(sassSources, ['sass']);
  gulp.watch(['js/script.js', '*.html'], function(e) {
    server.changed(e.path);
  });
});



gulp.task('default', ['sass','js', 'watch']);
当我试图运行gulp编译sass时,我得到的错误是输出以下命令

       19:55:01] Using gulpfile ~/Desktop/coffeescript/gulpfile.js
[19:55:01] Starting 'sass'...
[19:55:01] 'sass' errored after 21 ms
[19:55:01] TypeError: glob pattern string required
    at new Minimatch (/Users/Aquinas/Desktop/coffeescript/node_modules/gulp-ruby-sass/node_modules/minimatch/minimatch.js:116:11)
    at setopts (/Users/Aquinas/Desktop/coffeescript/node_modules/gulp-ruby-sass/node_modules/glob/common.js:118:20)
    at new GlobSync (/Users/Aquinas/Desktop/coffeescript/node_modules/gulp-ruby-sass/node_modules/glob/sync.js:40:3)
    at Function.globSync [as sync] (/Users/Aquinas/Desktop/coffeescript/node_modules/gulp-ruby-sass/node_modules/glob/sync.js:26:10)
    at /Users/Aquinas/Desktop/coffeescript/node_modules/gulp-ruby-sass/index.js:68:21
    at Array.forEach (native)
    at gulpRubySass (/Users/Aquinas/Desktop/coffeescript/node_modules/gulp-ruby-sass/index.js:67:10)
    at Gulp.<anonymous> (/Users/Aquinas/Desktop/coffeescript/gulpfile.js:27:11)
    at module.exports (/Users/Aquinas/Desktop/coffeescript/node_modules/orchestrator/lib/runTask.js:34:7)
    at Gulp.Orchestrator._runTask (/Users/Aquinas/Desktop/coffeescript/node_modules/orchestrator/index.js:273:3)

问题是livereload的watch不起作用,因为我使用的代码有点过时。

这可能是因为gulp.src()需要字符串而不是数组作为条目文件。只需将其从数组更改为字符串,就可以了。

这是打字错误:“comptonents”吗?在Sassources,是的!谢谢你指出这一点,哈哈!但是,我已经纠正了它,它仍然输出相同的错误。我已经更新了顶部的帖子,以显示我的gulp插件树。谢谢大家!如果您只是将'components/sass/*.scss'放在'sass'任务src中,而不是对sassources的数组调用,会发生什么情况?我刚刚注意到Mark对我的注释是一样的。
gulp.task('watch', function() {
  livereload.listen(35732);
  var server = livereload();
  gulp.watch(jsSources, ['js']);
  gulp.watch(coffeeSources, ['coffee']);
  gulp.watch(sassSources, ['sass']);
  gulp.watch(['js/script.js', '*.html'], function(e) {
    livereload.changed(e.path);
  });
});