这是我第一次使用gull。到目前为止,我一直使用bundleexeccompasswatch来编译我的scss文件。
当我运行gullow时,在命令提示符中出现以下错误:
Syntax error: file to import not found or unreadable: singularitygs
load paths: ... .. on line 14 of C:<my path>scsspartials _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_modulesgulp-ruby-by-sassindex.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 时,它们运行得很好
如果我注释掉了奇点,那么如果我注释出了toolkit,那么工具箱和时髦按钮也会出现同样的错误。如果我把它们全部注释掉,就会抛出一个错误,因为它没有注意到工具箱使用的变量。
我的gullfile.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个多小时了,并在其他地方寻找它可能带来的零运气。我肯定不是第一个没有捆绑依赖关系的人。
我所有的宝石都是最新的,当我用bundleexeccompasswatch编译时,一切都很好。我还试着重新安装了几个不同的gull包,比如:
npm install gulp-ruby-sass
npm install gulp-compass
我也在使用WAMP和windows 8,。。如果这很重要的话。
谢谢你抽出时间。
请尝试对通知行进行注释。
参考https://github.com/appleboy/gulp-compass/issues/40
gulp-ruby-sass把事情搞砸了。似乎在我之前会有更多的人遇到这个问题。
我对sass = require('gulp-ruby-sass'),
和.pipe(sass({style: 'expanded', bundleExec:true}))
进行了注释,它起到了作用。