RailsAssetsでRailsアプリのAsset管理を行う

なぜRailsAssetsが必要か

Railsアプリに外部ライブラリを組み込む時って結構 直接DLしてapp/assetsとかvendor/assetsとかに突っ込みがち。

でもそれだとRails全体はGitのバージョン管理になってるかもしれないけど、 ライブラリのバージョン管理はできてないよね。 vendor/以下はそもそもignoreしてそうだし。

bowerというアプローチはあるけど、2重管理になるよね・・・。

Gemとして配布されてるライブラリもあるけど、本家への追随が遅れているケースが多い。

そこで各ライブラリが提供しているbower.json(依存ファイルを記述しておくファイル)を解析して 自動的にGem化してくれるhttps://rails-assets.org/を利用する。

これならbundlerで管理が一元化できて、bowerのメリットも享受できる。

使い方

Gemfile

以下を追記する

 source 'https://rubygems.org'
+source 'https://rails-assets.org'

 gem 'rails'

 # Assets
 gem 'sass-rails'
 gem 'uglifier'
 gem 'coffee-rails'
+gem 'rails-assets-bootstrap'
+gem 'rails-assets-ember'

application.jsとかappliction.cssからrequire

//= require bootstrap
//= require ember
*= require bootstrap

だん!簡単!

使えるGemはどこでわかるの?

見つからないんだけど?

それでも駄目なケースはたまにあるらしい。 bower.jsonちゃんと更新してくれてないとあかん奴。 でもだいたい使いたいライブラリってメンテが活発なやつ使うから問題になることはほとんどないはず。

参考