gulp не замечает импорт / компоновку расширений sass/compass

Я впервые использую глоток. До сих пор я всегда использовал компасный пакет Bund Exec для компиляции своих файлов 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-кнопок, если я закомментирую инструментарий. Если я закомментирую их все, это выдаст мне ошибку, потому что он не заметит переменные, которые использует инструментарий.

Мой 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.

Все мои драгоценные камни являются современными, и все работает нормально, когда я компилирую с Buce Exec Compass Watch. Я также попытался переустановить несколько различных пакетов gulp, таких как:

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

Я также использую WAMP и Windows 8,.. если это вообще имеет значение.

Спасибо за ваше время.

2 ответа

Решение

По какой-то причине, gulp-ruby-sass все испортил. Похоже, что все больше людей столкнулись бы с этой проблемой до меня, хотя.

Я закомментировал sass = require('gulp-ruby-sass'), а также .pipe(sass({style: 'expanded', bundleExec:true})) и это сработало.

Пожалуйста, попробуйте прокомментировать строку уведомления.

ссылка https://github.com/appleboy/gulp-compass/issues/40

Другие вопросы по тегам