作者:博瑞装饰王龙骏 | 来源:互联网 | 2023-05-25 09:34
我有gulp-ruby-sass的问题.当我尝试运行监视任务并更改一些.sass文件时,会发生错误:
TypeError: Arguments to path.join must be strings
这是我的gulpfile.js
var gulp = require('gulp');
var jade = require('gulp-jade');
var sass = require('gulp-ruby-sass');
var watch = require('gulp-watch');
gulp.task('sass', function() {
return gulp.src('sass/*.sass')
.pipe(sass())
.pipe(gulp.dest('./css'));
});
gulp.task('watch', function() {
gulp.watch('./sass/*.sass', ['sass']);
})
我使用gulp-slash但它不起作用.
1> rjb..:
随着语法的变化在一饮而尽,红宝石,青菜从1.0.0-α开始,你需要使用gulp-ruby-sass()
,而不是gulp.src()
从一个文件或目录编译萨斯.
如果您尝试使用较新或最新版本的原始语法,您可能会遇到以下错误:
TypeError: Arguments to path.join must be strings
例如,0.7.x及更早版本中使用gulp.src()的原始语法现已弃用:
var gulp = require('gulp');
var sass = require('gulp-ruby-sass');
// gulp-ruby-sass: 0.7.1
gulp.task('sass', function() {
return gulp.src('path/to/scss')
.pipe(sass({ style: 'expanded' }))
.pipe(gulp.dest('path/to/css'));
});
使用gulp-ruby-sass()作为gulp源适配器在1.x中引入的新语法:
// gulp-ruby-sass: 1.x
gulp.task('sass', function() {
return sass('path/to/scss', { style: 'expanded' })
.pipe(gulp.dest('path/to/css'));
});
注意return语句第一行的差异.
另外请记住,在撰写本文时,使用gulp-ruby-sass 1.0.0-alpha时,还不支持globs.
2> Heikki..:
gulp-ruby-sass
版本1.0.0中的语法更改.看到这个问题:
https://github.com/sindresorhus/gulp-ruby-sass/issues/191
新文档目前在这里:
https://github.com/sindresorhus/gulp-ruby-sass/tree/rw/1.0#gulp-ruby-sass-is-a-gulp-source-adapter
这应该编译指定目录中的sass文件:
gulp.task('sass', function() {
return sass('sass/')
.pipe(gulp.dest('./css'));
});