Задать вопрос
HamSter007
@HamSter007
HTML/CSS верстальщик

Кто может помочь с gulp сборкой для sass compass?

структура проекта такова
www
    app
        sass --> style.scss
        index.html
    dist
        css
        index.html
  gulpfile.js
  pacckage.json
  config.rb


Config.rb таков
http_path = "/"
css_dir = "css"
sass_dir = "scss"
images_dir = "images"
javascripts_dir = "js"

output_style = :expanded 
 relative_assets = true
 line_comments = true


Gulpfile.js
'use strict';
 
var gulp = require('gulp'),
	compass = require('gulp-compass');

// Пути
var path = {
	app : {          // Исходники
		html   : 'app/*.html',
		css    : 'app/css/*.css',
		sass   : 'app/scss/style.scss',
		js     : 'app/js/*.js',
		images : 'app/images/**/*.*',
		fonts  : 'app/fonts/**/*.*',
		svg    : 'app/**/*.svg'
	},
	dist : {         // Релиз
		html   : 'dist/',
		css    : 'dist/css/',
		js     : 'dist/js/',
		images : 'dist/images/',
		fonts  : 'dist/fonts/'
	},
	watch : {        // Наблюдение
		html   : 'app/**/*.html',
		css    : 'app/css/**/*.css',
		sass   : 'app/scss/**/*.scss',
		js     : 'app/js/**/*.js',
		images : 'app/images/**/*.*',
		fonts  : 'app/fonts/**/*.*'
	}
};

// Работа с HTML
gulp.task('html', function(){
	gulp.src(path.app.html)
		.pipe(gulp.dest(path.dist.html));
});

// Работа с SASS Compass
gulp.task('compass', function() {
  gulp.src(path.app.sass)
    .pipe(compass({
    	config_file: 'config.rb',
    	css: path.app.css,
    	sass: path.app.sass
    }))
    .pipe(gulp.dest(path.dist.css));
});

// Наблюдение
gulp.task('watch', function () {	
	gulp.watch(path.watch.html, ['html']);
	gulp.watch(path.watch.sass, ['compass']);
});

// Задачи по-умолчанию
gulp.task('default', [
	'html',
	'compass'
]);


1. вопрос где он должен находится в app или в корне www ?
2. Можно ли вообще без этого файла обойтись, если да то как ?
3. Что я делаю не так?
Ошибка
Error: You need to have Ruby and Compass installed and in your system PATH for this task to w
ork.


Уже и gem update и gem install compass сделала. Руби соответственно установлен.
Скорее всего что-то в gulpfile.js что-то намудрила.
Если кто-то может помочь или может поделиться своей сборкой под компасс, пожалуйста!!
  • Вопрос задан
  • 1084 просмотра
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
zorro76
@zorro76
1. вопрос где он должен находится в app или в корне www ?
в корне
2. Можно ли вообще без этого файла обойтись, если да то как ?
нет

пример:
gulp.task('compass', function() {
  gulp.src('./app/scss/**/*.scss')
    .pipe(debug())
    .pipe(plumber({
      errorHandler: function (error) {
        console.log(error.message);
        this.emit('end');
      }}))
    .pipe(sourcemaps.init())
    .pipe(compass({
      config_file: './config.rb',
      sass: './app/scss',
      css: './app/css'
    }))
    .pipe(debug())
    .pipe(urlAdjuster({
      replace:  ['/app/img','/img']
    }))
    .pipe(minifyCSS({compatibility: 'ie8'}))
    .pipe(debug())
    .pipe(rename('style.min.css'))
    .pipe(csso())
    .pipe(sourcemaps.write('./maps'))
    .pipe(gulp.dest('./dist/css'))
    .pipe(reload({stream: true}));
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@quramolt
Если это Windows, то вы пути до исполняемых файлов Ruby и т.д. в переменных окружения (system environments, кажется) прописали? Это нужно, чтобы при запуске из командной строки можно было пользоваться командами типа ruby, gulp, npm и т.д.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы