目的
//= require foo.js
でjavascriptファイルをくっつけて、minifyしたい..
class Person
name: 'foo'
Coffeeも書きたい...
sass + compassを使いたい
@import "compass/css3";
@import "compass/reset";
.foo {
@include border-radius(4px, 4px);
}
これらを使いたい...
しかし、使用しているフレームワークだとあまり対応していなかったり...
というときに、guardでとりあえず適当に使えるようにした。
STEP 0
Rubyをインストール
STEP 1
プロジェクト直下にGemfile
を追加
source 'https://rubygems.org'
group :development do
gem 'compass'
gem 'uglifier'
gem 'guard-sass', require: false
gem 'guard-sprockets'
gem 'guard-coffeescript'
gem 'rb-inotify', require: false
gem 'rb-fsevent', require: false
gem 'rb-fchange', require: false
gem 'growl', require: false
gem 'terminal-notifier-guard', require: false
gem 'rb-notifu', require: false
end
bundle install !!!
bundle install
STEP 2
Guardfile
を書く
bundle exec guard init
e.g.)
guard 'coffeescript', input: 'assets/coffee', output: 'public/javascripts'
guard 'sass', input: 'assets/sass', compass: true, output: 'public/css', compress: true, style: :compressed
guard 'sprockets', destination: 'public/javascripts', asset_paths: ['assets/javascripts'], minify: true do
watch(%r{^assets/javascripts/([^/]*)\.js$})
end
-
assets/coffee
以下の.coffeeが変更されたら、public/javascripts
以下に設置 -
assets/sass
以下の.scss
or.sass
が変更されたら、public/css
以下に設置 -
aasets/javascripts
以下の.js
が変更されたら、public/javascripts
以下に設置
監視するフォルダ、出力するフォルダをプロジェクト構成に合わせて、適切に設定してあげる。
STEP 3
bundle exec guard !!!
bundle exec guard
これでGaurdfile
の設定に応じて、色々やってくれる。