Gulp似乎无法找到指南针mixin [英] Gulp can't seem to find compass mixins
问题描述
我正在尝试将gulp作为Grunt的替代构建工具,将我的scss编译为css,因为我听说它可以更快。即使是我的scss文件的基本编译问题。我尝试过使用 gulp-sass , gulp-ruby-sass 和 gulp-compass 插件进行吞吐,并且我得到了几乎相同的错误消息每次:
错误screen.scss(_grid.scss的第2行:未定义的混入框大小)。
所以它看起来就像一旦碰到罗盘mixin就会掉下来。我在我的PC上安装了ruby,使用罗盘版本1.0.0.alpha.19和sass 3.3.7版本。
这是我的gulp文件:
var gulp = require('gulp'),
compass = require('gulp-compass'),
sass = require ( '吞掉-红宝石SASS');
$ b gulp.task('compass',function(){
gulp.src('../ sass / UK / screen.scss')
.pipe(compass {
css:'../css',
sass:'../sass',
sourcemap:true,
style:'compressed'
}) )
.pipe(gulp.dest('../ css / UK / screen.css'));
});
gulp.task('sass',function(){
gulp.src('../ sass / UK / ** / *。scss')
.pipe (sass({style:'compressed',sourcemap:true}))
.pipe(gulp.dest('../ css / UK'));
});
任何想法如何告诉它我的指南针副本安装在哪里?我认为它是全球安装的。
You right, compass
should至少可以轻松地在您的系统上全局安装以完成此项工作。我建议您卸载sass和指南针以便使用
gem卸载sass&& gem uninstall compass
然后重新安装它们:
gem install sass
gem install compass --pre
然后,您可以像这样定义一个gulp任务
gulp.task('compass',function( ){
return gulp.src('../ sass / UK / screen.scss')
.pipe(sass({compass:true,sourcemap:true,style:'compressed '}))
.pipe(gulp.dest('../ css / UK / screen.css'));
});
I am trying out gulp as an alternative build tool to Grunt, to compile my scss to css, as I have heard it can be much faster.
I having problems doing even a basic compile of my scss files. I have tried using the gulp-sass, gulp-ruby-sass and gulp-compass plugins for gulp and I get pretty much the same error message every time:
error screen.scss (Line 2 of _grid.scss: Undefined mixin 'box-sizing'.)
So it looks like it is falling down as soon as it hits a compass mixin. I have ruby installed on my PC with compass version 1.0.0.alpha.19 and sass version 3.3.7.
Here is my gulpfile:
var gulp = require('gulp'),
compass = require('gulp-compass'),
sass = require('gulp-ruby-sass');
gulp.task('compass', function() {
gulp.src('../sass/UK/screen.scss')
.pipe(compass({
css: '../css',
sass: '../sass',
sourcemap: true,
style: 'compressed'
}))
.pipe(gulp.dest('../css/UK/screen.css'));
});
gulp.task('sass', function () {
gulp.src('../sass/UK/**/*.scss')
.pipe(sass({ style: 'compressed', sourcemap: true }))
.pipe(gulp.dest('../css/UK'));
});
Any ideas how I tell it where my copy of compass is installed? I thought it was installed globally.
You right, compass
should be installed globally on your system to get this work, at least easily. I recommend you to uninstall sass and compass to get something clean using
gem uninstall sass && gem uninstall compass
And then re-install them with :
gem install sass
gem install compass --pre
And after you can define a gulp task like so
gulp.task('compass', function () {
return gulp.src('../sass/UK/screen.scss')
.pipe(sass({ compass: true, sourcemap: true, style: 'compressed' }))
.pipe(gulp.dest('../css/UK/screen.css'));
});
这篇关于Gulp似乎无法找到指南针mixin的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!