Мое приложение Rails теперь довольно прогрессивно, и я хочу правильно сжать включенные файлы JS (Aloha Editor с плагинами + Gritter, составляя несколько файлов с более чем 1 МБ JS).Я выбрал Jammit из-за его прекрасной интеграции с Rails.Вот мой config / assets.yml:
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
Для объяснения: aloha.js - это расширенная библиотека jQuery 1.4.2, а также файлы в /javascripts/.js и / gritter / .js в основном зависят от него (jQuery).Я включил теги в код моего представления с
<%= include_javascripts :admin %>
.
При переключении в режим dev (assets.yml имеет package_assets: on), Jammit оставляет файлы JS в одиночку и встраивает их все по одному, и мое приложение просто отлично.
Однако, когда в производственном режиме (env =: production, или assets.yml имеет package_assets: всегда), Jammit создает сжатый файл JS размером примерно 700 КБ (вау, это толстый монстр), который встраивается правильно, но я получаю ошибку JS " jQuery не определен"при загрузке страницы.Мое первое предположение состояло бы в том, что порядок файлов JS изменяется во время компиляции, даже если это не должно быть?
Еще одна вещь: оставление компрессора по умолчанию (yui) приводит к еще худшим ошибкам JS при загрузке.
Может кто-нибудь помочь мне, пожалуйста?