アセットパイプラインの下にあるファイルを保存して1つの最小化されたアセットファイルに残すことができない場合は、アセットをカテゴリ別に分割し、それらのカテゴリを異なる最小化ファイルでコンパイルし、必要に応じて。
アプリのさまざまな領域に配置され、よく使用されないいくつかの「重い」javascriptコンポーネントが含まれているアプリ向けにします。
の1-アプリ/資産/ javascripsでは、あなたのファイル構造
を整理し、アプリ/資産/スタイルシートは、私たちが作成しようとしているカテゴリごとにディレクトリを作成します。例:
- アプリ/資産/ javascrips /共通
- アプリ/資産/ javascrips /管理
- アプリ/資産/ javascrips/USER_ACCOUNT
2 -作成し、あなたのマニフェスト
app/assets/javascripsとapp/assets/stylesheets関連ディレクトリを含め、カテゴリごとにマニフェストファイルを作成し、それらを持って
ファイルアプリ/資産/ javascrips/common.js
//= require jquery
//= require_tree ./common
ファイルアプリ/資産/ javascrips/admin.js
//= require_tree ./admin
ファイルapp/assets/javascrips/user_account。JS
//= require_tree ./user_account
、3-はあなたがのconfig/application.rbファイルでそれを行うことができますプリコンパイルリストに
をレールにあなたのマニフェストを追加し、それが大きな取得した時点で、作成することが好ましいです。初期化ファイル設定/初期化子/ assets.rb
Rails.application.configure do
config.assets.precompile += %w[common.js admin.js user_account.js]
end
4-あなたのビューとレイアウトにそれらを含め、JavaScriptライブラリを設定します。
アセットファイルをレイアウトとビューにインポートします。共通アセットファイルを使用するアプリケーションの異なる領域に複数のレイアウトを作成することをお勧めします。使用する方法には、あなたは、彼らが動的にファイルをロードするときminiminiedファイルを使用する必要があなたのjavascriptのプラグインを指示する必要があり stylesheet_link_tag 'manifest_file'
とjavascript_include_tag 'manifest_file'
され、心に留めておきます。それらのために、構成.js.erbファイルを使用することができます。例:
ファイルアプリ/資産/ javascrips /管理/プラグインin_config.js.erb
PLUGIN.config('dynamicFileName', '<%= javascript_path('manifest_file') %>');
適切な解決策だけで、あなたのプロジェクトに使用されていない資産の30メガバイトに入れないことです。通常、テンプレートには小さなコア(アセットに含めることは問題ありません)があり、残りのコンポーネントはオプションです。チェリーピッキング/これらのファイルの適応には時間がかかりますが、それは努力する価値があります。 – vemv
@vemv私はこのようなコメントをしばしば見ます。あなたのことに反応すれば、ごめんなさい。これは正しいことではありません。私はあなたがそれを言うことができますが、先に進み、解決策を提供する、あるいは何も言わないことを意味します。あなたは、コーディングの単一の方法や状況の単一の種類はありませんし、時にはあなたが通常行うことを避けることを余儀なくされていることがわかります。だからここでは、学校のような講義ではなく、助けを提供することです。乾杯。 – Benj
@BenjaminSinclaire何?私は、多くの種類のプロジェクトで正しいと思われる、具体的な、適用可能な助言をしました。 – vemv