0

私のプロジェクトでは、vendor/assets/javascriptsおよびvendor/assets/stylesheetsディレクトリ内にサードパーティの JavaScript と Css ファイルがあります。開発モードでは、javascript_include_tagおよびstylesheet_include_tagメソッドを使用して、これらのディレクトリ内のアセットを参照できます。

ただし、rake assets:precompileコマンドを実行してもこれらのスクリプトはプリコンパイルされず、その後、本番環境ではアクセスできません。

ディレクトリ内のアセットがvendorrake タスクによって無視される理由を教えてください。

4

1 に答える 1

1

私は自分の質問に答えることができました。

これは私には明らかではありませんでしたが、理にかなっています。application.cssandファイルを除いて、application.js他のすべての .js/.css ファイルはプリコンパイル rake タスクによって無視されます。したがって、スクリプトとスタイルシートがファイル//= require name_of_script内の規則を使用して参照されている限り、application.js/.cssそれらは関連ファイルに追加されます。

ただし、特定のスクリプトをファイル内に配置したくない場合は、または他の関連するランタイム環境構成ファイルapplication.js/.css内の次の行を使用して、それらをプリコンパイルすることを Rails に明示的に伝える必要があります。config/environment/production.rb

# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
config.assets.precompile += %w( morris.min.js raphael.min.js )
于 2013-05-01T00:36:56.937 に答える