【发布时间】:2014-09-04 22:11:01
【问题描述】:
我正在尝试将 gulp 作为 Grunt 的替代构建工具,将我的 scss 编译为 css,因为我听说它可以更快。
我什至在对我的 scss 文件进行基本编译时都遇到了问题。我曾尝试使用 gulp-sass、gulp-ruby-sass 和 gulp-compass 插件进行 gulp,但我得到了几乎相同的错误每次留言:
error screen.scss (Line 2 of _grid.scss: Undefined mixin 'box-sizing'.)
所以看起来它一碰到指南针 mixin 就会掉下来。我的电脑上安装了 ruby,compass 版本为 1.0.0.alpha.19 和 sass 版本为 3.3.7。
这是我的 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'));
});
我知道如何告诉它我的指南针副本安装在哪里吗?我以为它是全局安装的。
【问题讨论】:
-
我的 _base.scss 文件中有以下几行:@import "compass/reset"; @import "compass/css3";在出现问题的 _grid.scss 文件之前被调用到我的 screen.scss(编译为 screen.css 的那个)中,所以我不认为是这样。
-
@import compass/css3应该包含 box-sizing mixin,所以还有其他问题。尝试将 gulp 排除在外,然后通过 Compass 进行编译。从那里,缩小您的 Sass 文件的哪些部分缺少 mixin。 -
嗨,Katie,尝试使用
sass screen.scss screen.css用 gulp 编译 sass,但出现错误:Syntax error: File to import not found or unreadable: compass/reset.。所以看起来 compass/sass 不是 gulp 的问题。
标签: sass gulp compass-sass gulp-sass