特定のjavascriptファイル(modernizr)を個別にロードしたいので、パイプラインから除外したいと思います。
最初にModernizrをロードし、最後に連結された残りのJavaScriptをロードしたいと思います。
3.1のアセットパイプラインでrequireの反対を行う方法はありますか?すなわち。除外しますか?
前もって感謝します。
アダム。
特定のjavascriptファイル(modernizr)を個別にロードしたいので、パイプラインから除外したいと思います。
最初にModernizrをロードし、最後に連結された残りのJavaScriptをロードしたいと思います。
3.1のアセットパイプラインでrequireの反対を行う方法はありますか?すなわち。除外しますか?
前もって感謝します。
アダム。
変更してスプロケットの機能を維持することにしました
//= require_tree
に
//= require_directory .
これにより、スプロケットは同じディレクトリ内のファイルを自動ロードし続けますが、それ以上のフォルダにはロードしません。
これにより、Modernizr.jsをassets / javascripts / topフォルダーに移動し、次のコマンドを使用して手動で上部にロードすることができました。
<%= javascript_include_tag "top/modernizr" %>
移動します
<%= javascript_include_tag "application" %>
application.html.erbファイルの下部(本文の終了タグの上)
これは古い質問だと思いますが、先週Googleからここに送られてきたので、時代遅れの質問ではありません。私が他の場所で見つけた答えは、スプロケットの「スタブ」ディレクティブでした。だから何かのような
//= require-tree .
//= stub Modernizr
これにより、Modernizr.jsがバンドルされたアセットから除外されます。元の回答と同様に、独自のタグを含めることができます。
Sprocketsの変更ログには、「スタブ」が2012年1月に追加されたため、この質問に最初に回答した時点では利用できなかったと書かれていますが、今は良い答えだと思います。
これは、config / environment / Production.rbファイルに移動し、次の行を追加することで、はるかに簡単に実行できます。
config.assets.precompile += %w( modernizr.js )
次に、アセットをプリコンパイルすると、モダナイザーには、頭の中で使用できる独自の個別のファイルがあります。
これらの答えは時代遅れです。active_admin.css.scss
からapp/assets/stylesheets
に移動するだけvendor/assets/stylesheets
です。
(からにactive_admin.js.coffee
移動)でも同じことを行います。app/assets/javascripts
vendor/assets/javascripts
applications.js
その後、必要に応じてアセットが読み込まれ、 active_adminに対応するために変更を加える必要はありません。
この解決策は、この号で説明されています。お役に立てれば。