首页 > gulp的gulp-ruby-sass插件启动不了报错!

gulp的gulp-ruby-sass插件启动不了报错!

报错:

λ gulp serve
[18:22:40] Working directory changed to F:\new-gulp-test
[18:22:41] Using gulpfile F:\new-gulp-test\gulpfile.js
[18:22:41] Starting 'scss'...
[18:22:41] 'scss' errored after 7.01 ms
[18:22:41] ReferenceError: scss is not defined
    at Gulp.<anonymous> (F:\new-gulp-test\gulpfile.js:58:15)
    at module.exports (F:\new-gulp-test\node_modules\.npminstall\orchestrator\0.3.7\orchestrator\lib\runTask.js:34:7)
    at Gulp.Orchestrator._runTask (F:\new-gulp-test\node_modules\.npminstall\orchestrator\0.3.7\orchestrator\index.js:273:3)
    at Gulp.Orchestrator._runStep (F:\new-gulp-test\node_modules\.npminstall\orchestrator\0.3.7\orchestrator\index.js:214:10)
    at Gulp.Orchestrator.start (F:\new-gulp-test\node_modules\.npminstall\orchestrator\0.3.7\orchestrator\index.js:134:8)
    at C:\Users\Administrator\AppData\Roaming\npm\node_modules\.gulp_npminstall\gulp\3.9.1\gulp\bin\gulp.js:129:20
    at nextTickCallbackWith0Args (node.js:420:9)
    at process._tickCallback (node.js:349:13)
    at Function.Module.runMain (module.js:443:11)
    at startup (node.js:139:18)

node_modules目录

gulpfile.js配置

var minifycss = require('gulp-minify-css'),// CSS压缩
    uglify = require('gulp-uglify'),// js压缩
    concat = require('gulp-concat'),// 合并文件
    rename = require('gulp-rename'),// 重命名
    clean = require('gulp-clean');//清空文件夹

var gulp = require('gulp'),
    sass = require('gulp-ruby-sass');
    notify = require('gulp-notify'),
    plumber = require('gulp-plumber');
    browserSync = require('browser-sync').create(),
    reload     = browserSync.reload;

gulp.task('serve', ['scss'], function() {
    browserSync.init({
        server: "./stc"
    });
    gulp.watch("stc/**/*.scss", ['scss']);
    gulp.watch("stc/*.html").on('change', reload);
});
gulp.task('scss', function() {
    return gulp.src(['stc/scss/*.scss','!stc/scss/extend/{reset,test}.scss'])
        .pipe(plumber({errorHandler: notify.onError('Error: <%= error.message %>')}))
        .pipe(scss())
        .pipe(gulp.dest("stc/css"))
        .pipe(reload({stream: true}));
});

gulp.task('default', ['serve']);

ruby-sass 是依赖 ruby 的,你确定 ruby 环境无误么?建议还是直接用 node-sass 性能也更好一些。


你没有一个叫scss的变量,看这里:

gulp.task('scss', function() {
    return gulp.src(['stc/scss/*.scss','!stc/scss/extend/{reset,test}.scss']) 
               .pipe(plumber({errorHandler: notify.onError('Error: <%= error.message %>')})) 
               .pipe(sass()) //这里不对,应该是sass吧
               .pipe(gulp.dest("stc/css")) 
               .pipe(reload({stream: true}));
});
【热门文章】
【热门文章】