Ошибка использования FSSM для мониторинга файлов SASS - PullRequest
0 голосов
/ 14 апреля 2011

Я наблюдаю за папкой тем в проекте WordPress, чтобы посмотреть файлы .scss и запустить их через инструмент sass командной строки для создания чистых файлов .css.

Скрипт работает так же, как и он.преобразование помещает это, не в состоянии обеспечить любой вывод, поскольку это получает 'ошибку обратного вызова FSSM'.Кто-нибудь может сказать мне, почему это происходит?

#sudo gem install fssm
#sudo gem install haml
# Script to watch a directory for any changes to an scss file and compile it to css in the same place
#
# USAGE: ruby sassy.rb <directory_to_watch>
#
require 'rubygems'
require 'fssm'

#directory = File.join(File.dirname(__FILE__), ARGV.first)
directory = "../wp-content/themes/"
FSSM.monitor(directory, '**/*.scss') do
  update do |base, relative|
    input = "#{base}/#{relative}"
    output = "#{base}/#{relative.gsub!('.scss', '.css')}"
    command = "sass --scss --watch #{input}:#{output}"
    %x{#{command}}

    puts "SASSy regenerated #{input} to #{output}"
  end
end

Как я уже сказал, SCSS скомпилирован в файл .css в том же каталоге, но ошибка:

sy-mbp:_build simon$ ruby sassy.rb
^Csassy.rb:19:in ``': update - /Data/code/eil/wp-content/themes/eil-baseline/style.scss:  (FSSM::CallbackError)
    from sassy.rb:19
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/path.rb:73:in `call'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/path.rb:73:in `run_callback'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/path.rb:55:in `callback_action'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/path.rb:35:in `update'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/state/directory.rb:38:in `modified'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/state/directory.rb:36:in `each'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/state/directory.rb:36:in `modified'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/state/directory.rb:17:in `refresh'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/backends/fsevents.rb:15:in `add_handler'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/backends/fsevents.rb:14:in `each'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/backends/fsevents.rb:14:in `add_handler'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/backends/rubycocoa/fsevents.rb:107:in `call'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/backends/rubycocoa/fsevents.rb:107:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/backends/fsevents.rb:27:in `call'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/backends/fsevents.rb:27:in `CFRunLoopRun'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/backends/fsevents.rb:27:in `run'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm/monitor.rb:20:in `run'
    from /Library/Ruby/Gems/1.8/gems/fssm-0.2.3/lib/fssm.rb:18:in `monitor'
    from sassy.rb:12

Помощь очень ценится!

Симон

Ответы [ 2 ]

1 голос
/ 22 марта 2012

С текущей версией sass gem, работающей

sass --watch ../wp-content/themes/

из командной строки будет обрабатывать поиск изменений в файле scss и генерировать версию css

http://sass -lang.com / Docs / yardoc / file.SASS_CHANGELOG.html # 3-0-0-часы

1 голос
/ 14 апреля 2011

Переписал его, используя watchr, который, как я обнаружил, довольно прост в использовании. Сохраните https://gist.github.com/919884 в watch_scss.rb, установите watchr gem и запустите watchr watch_scss.rb в каталоге выше wp-content.

...