My Railsアプリケーションはかなり進歩しており、含まれているJSファイル(プラグイン+ GritterのAloha Editor、1MB以上のJSで複数のファイルを作ります)正しく。私は細かいRailsの統合のためにJammitを決めました。説明のためにJammit圧縮は圧縮モードではなく、devモードで動作します。JS
package_assets: always
javascript_compressor: closure
compressor_options:
compilation_level: ADVANCED_OPTIMIZATIONS
javascripts:
admin:
- public/aloha/aloha.js
- public/aloha/plugins/com.gentics.aloha.plugins.Format/plugin.js
- public/aloha/plugins/com.gentics.aloha.plugins.Table/plugin.js
- public/aloha/plugins/com.gentics.aloha.plugins.List/plugin.js
- public/aloha/plugins/com.gentics.aloha.plugins.Link/plugin.js
- public/javascripts/*.js
- public/javascripts/gritter/*.js
:ここに私のconfig/assets.ymlあるaloha.jsが延長のjQuery 1.4.2 LIB、およびファイル内の/ JavaScriptの/ の.jsおよび/グリッターがされる/の.jsはほとんどありこれに依存しています(jQuery)。 私はビューコードに
<%= include_javascripts :admin %>
とタグを含めています。
devモード(assets.ymlにpackage_assets:onが設定されている)に切り替えると、JammitはJSファイルだけを残して、すべてを1つずつ埋め込みます。私のアプリはうまくいきます。
しかし、生産モード(env =:production、またはassets.ymlにpackage_assets:alwaysがある)では、Jammitは正しく埋め込まれた約700kBの圧縮されたJSファイルを作成します(これは太ったモンスターです)。 JSエラー "jQueryが定義されていません"ページが読み込まれます。私の最初の推測は、コンパイル中にJSファイルの順序が変更されることです。
もう1つ:コンプレッサーをデフォルト(yui)にしておくと、ロード時にJSエラーがさらに悪化します。
誰かが私を助けてくれますか?