LoginSignup
12
12

More than 5 years have passed since last update.

Railsで使える便利な機能をRails以外で使いたい場合にGuardを使う

Posted at

目的

//= 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の設定に応じて、色々やってくれる。

12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12