Drupal 6には素晴らしい advagg モジュールがあり、CSSとJSをintelligentlyバンドルするという素晴らしい仕事をしますが、現在D7リリースはありません。
私が達成しようとしているのは:
ここで役立つdrupal 7ソリューションはありますか?これを最適化した他の人の経験は何ですか?
編集:質問は最初に2011年に投稿されました。現在、非常に安定したD7リリース advagg があります。
D7には Core Library があり、サイトに関する実際の統計に基づいて集計する学習モードがあります。
すべてを1つの巨大な集合体に総当たりしたい場合は、いくつかのサンプルコードを使って 記事を書いた を作成しました。
/**
* Implements hook_js_alter().
*/
function mymodule_js_alter(&$javascript) {
uasort($javascript, 'drupal_sort_css_js');
$i = 0;
foreach ($javascript as $name => $script) {
$javascript[$name]['weight'] = $i++;
$javascript[$name]['group'] = JS_DEFAULT;
$javascript[$name]['every_page'] = FALSE;
}
}
/**
* Implements hook_css_alter().
*/
function mymodule_css_alter(&$css) {
uasort($css, 'drupal_sort_css_js');
$i = 0;
foreach ($css as $name => $style) {
$css[$name]['weight'] = $i++;
$css[$name]['group'] = CSS_DEFAULT;
$css[$name]['every_page'] = FALSE;
}
}
Drupal.orgの問題#1034208 は、厳密な順序付け要件を少し緩和することも提案しています。
AdvAgg D7は開発中です。その他のオプション(含まれている引用はプロジェクトページからのものです):
... uglify.jsを使用して、サイトのJavaScriptをその場で縮小できます。モジュールはデフォルトでWebサービス(uglify.me)に依存して縮小を実行するため、縮小JavaScriptのメリットを享受するためにサーバーで前処理を行う必要はありません。
...サイトのフロントエンドパフォーマンスを高速化するように設計されています。 Speedyモジュールのこの最初のリリースでは、まだ縮小されていないコアJavaScriptファイルの縮小バージョンを提供します。たとえば、drupal.jsの縮小版は提供されますが、jquery.js(すでに縮小版)は提供されていません。