我刚刚开始使用Gulp.js和Sass,并且一直在使用mixins。
这是我的gulp.js文件:
var gulp = require('gulp');
var autoprefixer = require('gulp-autoprefixer');
var sass = require('gulp-ruby-sass');
gulp.task('css', function(){
return gulp.src('./assets/scss/main.scss')
.pipe(sass({
style: 'expanded',
noCache: true
}))
.pipe(autoprefixer('last 5 versions'))
.pipe(gulp.dest('./assets/css'));
});
gulp.task('watch', function(){
gulp.watch('./assets/scss/*.scss', ['css']);
});
gulp.task('default', ['css', 'watch']);这是我的main.scss文件:
#data {
@include left(10px);
@include table-base;
}这是它产生的错误:
events.js:72
throw er; // Unhandled 'error' event
^
[gulp] Error in plugin 'gulp-ruby-sass':
Syntax error: Undefined mixin 'left'.
on line 2 of /vagrant/gulp_test_1/assets/scss/main.scss, in `left'
from line 2 of /tmp/a4d96d4a-b823-4828-a37c-eab307477784/main.scss
at ChildProcess.<anonymous> (/vagrant/gulp_test_1/node_modules/gulp-ruby-sass/index.js:74:25)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:743:16)
at Process.ChildProcess._handle.onexit (child_process.js:810:5)所有其他的Sass东西都工作得很好。只是混入引起了一个错误。
我已经安装了Compass 0.12.2
我是否遗漏了一些gem/模块?
该系统运行在带有Ubuntu虚拟机的Vagrant上。
发布于 2014-02-20 01:50:41
@include应该指向在同一文件的乞求时导入的混合或库。
你遗漏了@import在开头和左边的任何地方(10px);来自,如果它是你自己的混音器或指南针库,它必须首先被导入。
https://stackoverflow.com/questions/21869389
复制相似问题