【问题标题】:gulp-ruby-sass can't find mixinsgulp-ruby-sass 找不到 mixins
【发布时间】:2014-02-19 01:51:40
【问题描述】:

我刚刚开始使用 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 东西都运行良好。只是 mixin 会引发错误。

我已经安装了Compass 0.12.2

我是否缺少任何宝石/模块?

系统在带有 Ubuntu 虚拟机的 Vagrant 上运行。

【问题讨论】:

    标签: sass mixins gulp


    【解决方案1】:

    @include 应该指向您在同一个文件开头导入的 mixin 或库。

    你不见了,@import 在开头和左边(10px);来自, 如果是你自己的 mixin 或指南针库,则必须先导入。

    【讨论】:

      猜你喜欢
      • 2014-11-21
      • 1970-01-01
      • 2018-10-19
      • 1970-01-01
      • 2014-02-28
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      相关资源
      最近更新 更多