私はこの問題をここ数日間解決しており、次のプロセスを解決しました。
bower-rails gemを使用してください。これは、バウアーの使用をレールアプリケーションとアセットパイプラインに統合するのに役立つ数多くのすばらしいレーキタスクを提供します。私は、bower-railsが提供するルビーベースのDSLの代わりにbower.jsonの設定に固執することを好みます。私はベンダー/資産/ bower_componentsに資産を格納するデフォルトのバワー・ロケーションを使用します。 application.rbに以下を追加してください。
config.assets.paths << Rails.root.join("vendor","assets","bower_components")
あなたbower.jsonに追加のパッケージを持っていたら、あなたは以下を実行します。
rake bower:install
JavaScriptのパッケージをインストールします。次に、application.jsファイルとapplication.cssファイルでjavacriptを参照します。
上記の@ andrew-hackingは、CSSと画像を持つjavascriptパッケージ、特に画像を参照するCSSでうまくいきません。
rake bower:resolve
それは友好的資産パイプラインで資産を参照するために、レールのヘルパーメソッドを持つコンポーネントのCSSファイル内のURL参照を書き換えることにより、部品の相対的な資産のパスを解決します提供rakeタスクで、この問題を修正中バウアーレール補助を方法。詳細については、BowerRails::Performer#resolve_asset_pathsを参照してください。
すべてのbower_componentsをリポジトリにチェックインするので、bower:installとbower:resolveを実行します。次に、パッケージ内で参照されているイメージを、ステージング環境と本番環境用のconfig.assets.precompileリストに追加する必要があります。例えば、Bowerとレールを使ってレールプロジェクトにselect2 javascriptコンポーネントを追加する設定です。
bower.json:
{
"name": "Acme",
"private": true,
"dependencies": {
"select2": "3.5.1"
}
}
アプリ/資産/ JavaScriptの/ application.js.coffee:
#= require select2/select2
アプリ/資産/スタイルシート/ application.css.sass
//= require select2/select2
config/environments/staging.rbおよびconfig/environments/production.rb:
config.assets.precompile += ["select2/*.png",
"select2/*.gif"]
これは完璧ではありませんが、javascriptコンポーネントの依存関係管理を提供し、アセットパイプライン用に有効なjavascriptコンポーネントを取得するために必要なものを見つけようとします。
5/24/2013スプロケットのバージョンが2.10.0に上がったため、リリースノートに「Support for bower.json」と記載されています。ドキュメントは見つかりませんでしたが、資産のコンパイル中に解決されるバワーの依存関係がサポートされている可能性があります。 –
編集:私はコミットを見ましたが、コンベンションの変更をcomponent.jsonからbower.json –
に変更したようです。「これは、スプロケットがベンダー/資産/コンポーネントの資産を探し始めるでしょう。 'config.assets.paths << Rails.root.join(" vendor "、" assets "、" components ")'はどうでしょうか?確かにこれをバックポートする必要はありませんか、何か不足していますか? –