【问题标题】:gulp isn't noticing sass/compass extension imports / bundlergulp 没有注意到 sass/compass 扩展导入/捆绑器
【发布时间】:2014-06-17 09:28:03
【问题描述】:

这是我第一次使用 gulp。到目前为止,我一直使用 bundle exec compass watch 来编译我的 scss 文件。

我在运行 gulp 时在命令提示符中收到以下错误:

Syntax error: file to import not found or unreadable: singularitygs

load paths:  ... .. on line 14 of C:\<my path>\scss\partials\0_global\_base.scss

events.js:72 throw er; /unhandled 'error' event

<-[36mgulp-ruby-sass<-[39m] Error in plugin '<-[36mgulp-ruby-sass<-[39m':
.. 
..
at ChildProcess. <anonamous> c:\<my path>\node_modules\gulp-ruby-by-sass\index.js:100:25)
at ChlidProcess.EventEmitter.emit(events.js:98:17)
at maybeClose(child_process.js:743:16)
at Process.ChildProcess._handle.onexit (child_process.js:810:5)

在我的 _base.scss 文件中,它看到:

@import 'singularitygs';
@import 'toolkit';
@import 'sassy-buttons';

所有这些扩展都在我的 config.rb 文件和我的 gemfile 中声明,并且在我运行 bundle exec compass watch 时工作正常

如果我注释掉singularitygs,如果我注释掉工具包,工具包和sassy-buttons 也会出现同样的错误。如果我将它们全部注释掉,它会抛出一个错误,因为它没有注意到工具包使用的变量。

我的 gulpfile.js 包括以下内容:

var gulp = require('gulp'),
    sass = require('gulp-ruby-sass'),
    autoprefixer = require('gulp-autoprefixer'),
    minifycss = require('gulp-minify-css'),
    jshint = require('gulp-jshint'),
    uglify = require('gulp-uglify'),
    imagemin = require('gulp-imagemin'),
    rename = require('gulp-rename'),
    clean = require('gulp-clean'),
    concat = require('gulp-concat'),
    notify = require('gulp-notify'),
    cache = require('gulp-cache'),
    livereload = require('gulp-livereload')
    compass = require('gulp-compass');

gulp.task('styles',function(){
    return gulp.src('scss/*.scss')
        .pipe(sass({style: 'expanded', bundleExec:true}))
        .pipe(compass({config_file: 'config.rb', css:'stylesheets', sass:'scss', font:'stylesheets/fonts', require: ['singularitygs', 'toolkit', 'sassy-buttons'], bundle_exec:true}))
        .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))        
        .pipe(gulp.dest('dist/assets/css'))
        .pipe(rename({suffix: '.min'}))
        .pipe(minifycss())
        .pipe(gulp.dest('dist/assets/css'))
        .pipe(notify({message: 'Styles task complete'}));
});

我已经为此绞尽脑汁 4 个多小时,并在其他地方寻找零运气可以做的事情。我肯定不是第一个不使用 gulp 的捆绑依赖项的人。

我所有的 gem 都是最新的,当我使用 bundle exec compass watch 编译时一切正常。我还尝试重新安装几个不同的 gulp 包,例如:

npm install gulp-ruby-sass
npm install gulp-compass

我也在使用 WAMP 和 Windows 8,如果这很重要的话。

感谢您的宝贵时间。

【问题讨论】:

标签: sass bundler compass-sass gulp singularitygs


【解决方案1】:

请尝试评论通知行。

参考https://github.com/appleboy/gulp-compass/issues/40

【讨论】:

    【解决方案2】:

    gulp-ruby-sass 出于某种原因把事情搞砸了。不过,似乎更多的人会在我之前遇到这个问题。

    我注释掉了sass = require('gulp-ruby-sass'),.pipe(sass({style: 'expanded', bundleExec:true})),它成功了。

    【讨论】:

      猜你喜欢
      • 2015-07-30
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 2015-06-14
      • 2014-05-27
      相关资源
      最近更新 更多