gulp ruby sass错误,未定义不是函数
我试图在我的配置中使用gulp ruby sass错误,未定义不是函数,gulp,gulp-ruby-sass,Gulp,Gulp Ruby Sass,我试图在我的配置中使用gulp ruby-sass运行sass任务,这是我得到的错误(错误后面是我的配置和代码): sass任务如下: gulp.task('sass',function(){ return sass(config.sass.src,config.sass.options) .pipe(plumber({errorHandler:notify.onError('<%= error.message %>')})) .pipe(
gulp ruby-sass
运行sass
任务,这是我得到的错误(错误后面是我的配置和代码):
sass
任务如下:
gulp.task('sass',function(){
return sass(config.sass.src,config.sass.options)
.pipe(plumber({errorHandler:notify.onError('<%= error.message %>')}))
.pipe(sourcemaps.init())
.pipe(autoprefixer(config.autoprefixer))
.pipe(filter)
.pipe(sourcemaps.write('.',{includeContent:false}))
.pipe(filter.restore())
.pipe(gulp.dest(config.sass.dest));
});
我为browser sync
和watch
任务执行它们:
var gulp = require('gulp');
var scsslint = require('gulp-scss-lint');
var config = require('../config').scsslint;
gulp.task('scsslint',function(){
return gulp.src(config.src)
.pipe(scsslint(config.options))
});
gulp.task('serve',['jshint','scsslint','sass'],function(){
browserSync(config);
}))
吞咽任务('watch',['serve',function()){
watch(config.jshint,['jshint']);
gulp.watch(config.sass,['scsslint','sass']);
}); 我可以从堆栈跟踪中看到两个问题: 1-我想你忘了这个
var filter=gulpFilter(['*.css','!*.map'])代码>执行前管道(过滤器)
2-如果您在此处阅读gulp ruby sass的文档,则没有sourcemapPath选项:您正在使用glob作为源。从:
GulpRuby sass还不支持globs,只支持单个文件或目录。就像是在胡说八道
要修复此问题,请将配置更改为:
src:app+'/scss'
您的sass.js
中的第15行是什么?以及sourcemapPath:app+'/css'
中的app
的值是什么?@LimH。第15行:.pipe(filter)
,filter实际上是gulpfilter
我得到了这个@LimH。这是我的配置中的变量appvar app='app'
几乎所有的东西都能工作,但是有一个问题[05:50:46]gulp ruby sass stderr:Errno::EINVAL:无效参数@rb_sysopen-*.css使用--trace进行回溯。
能否将gulpFilter中的*.css更改为*.scss?我已将行更改为var filter=gulpFilter(['!*.scss',!*.map')代码>但错误似乎持续存在。我也尝试过不使用感叹号*.scss
var gulp = require('gulp');
var scsslint = require('gulp-scss-lint');
var config = require('../config').scsslint;
gulp.task('scsslint',function(){
return gulp.src(config.src)
.pipe(scsslint(config.options))
});
gulp.task('serve',['jshint','scsslint','sass'],function(){
browserSync(config);