- Plack::Middleware::Compile
- coffee, sass, less等をcompileするけど、自分で設定をごりごり書く
- concatはしてくれない
- Plack::Middleware::StaticShared
- 一番良い感じ
- versioningとcacheにも対応
- URLが独特で気持ち悪い
./shared.js:v1:/js/foolib.js,/js/barlib.js
- URLでconcatするファイルを指定できるので、複数のパターンでconcatすることもできる
- concatはurlから自動で行う
- minifyは自分でfilterを設定する必要あり
- Plack::Middleware::Assets
- concat, minify, cache(on memory only)あり
- concatしたいファイルの指定をapp.psgiに書く必要がある
- 複数パターンのconcatには対応していない
- Plack::Middleware::Static::Combine
- concatするだけ
- concatしたいファイルの指定をapp.psgiに書く必要がある
- 複数パターンのconcatには対応していない
- Plack::Middleware::Static::Minifier
- minifyするだけ
- cacheあり
- Plack::App::MCCS
- minify, cache, gzipとか
- 機能が豊富だけどconcatしてくれない
- gzipをmiddleware層でやりたいなら、Plack::Middleware::Deflaterに任せれば良い
- Plack::Middleware::Assets::RailsLike
- railsのAsset Pipelineをパクって自作中
- concat, minify, versioning, cache対応
- URLはこんな感じ
/assets/foo-2013061001.js
最後のハイフンから拡張子までの間がversion指定になる - 個別に設定ファイル(上の例だと/assets/foo.jsがそう)を作成するので、複数パターンのconcatにも対応。設定ファイルはrails準拠(※requireしか使えない)
- ただしXSが必須
- precompile用scriptがまだ未実装
他にもPlack::Middleware::File::(Sass|Less)みたいなのもある
くらべた結果、どれつかうようにしたんでしょうか?