Який найкращий спосіб мінімізувати агрегативний JavaScript Javascript (Drupal)?


10

Щойно запустіть сторінки Google на моєму новоствореному сайті drupal 6, і він повідомляє:

Minifying the following JavaScript resources could reduce their size by 15.6KiB (12% reduction).

    Minifying http://[sites]/sites/default/files/js/js_9f19b87ffb72ca233ea7e45dda2f20f9.js could save 15.3KiB (18% reduction). See optimized version or Save as.

Вищевказаний файл був створений методом агрегації JavaScript за замовчуванням, але, очевидно, він може бути на 18% меншим (що для цього сайту велика справа). Який підхід вважається найкращим, коли мова йде про мінімізацію JavaScript на сайті Drupal, не порушуючи жодного існуючого коду?


Я не думаю, що це насправді специфічне питання щодо Drupal, воно може стосуватися будь-якої модифікації JavaScript, і тому краще запитатись у StackOverflow.
Розшифруйте

4
Конкретна частина drupal полягала б у тому, що будь-яке рішення потребує інтеграції з drupal та заміни основних файлів агрегації JS на мінімізовані версії. Змінено заголовок, щоб сподіватися зробити це зрозумілішим
wiifm

Відповіді:


4

Ви можете використовувати модуль Javascript Aggregator для цього або встановити PageSpeed (модуль Apache, а не розширення Firebug), якщо ви використовуєте Apache і можете встановити розширення (наприклад, не спільний веб-хостинг) у поєднанні з власною агрегацією Drupal, з додатковою перевагою, що PageSpeed може також мінімізувати CSS.


Використовуючи nginx як веб-сервер, не надто впевнений, чи інтегрується сторінка Google ще з цим
wiifm

Ну дійсно, вам краще з модулем, ніж PageSpeed ​​в такому випадку.
wildpeaks

6

Я створив новий модуль для вирішення багатьох питань агрегації, і я сподіваюся отримати великий фрагмент його у D8; і так, це модуль D6: http://drupal.org/project/advagg . Використовує jsmin + lib для стиснення JS та CSSTidy lib для стиснення CSS. Головною перевагою цього є те, що файл агрегації css / js не змінює імена, якщо цього не потрібно; ці файли також мають 1-річний термін кеш-пам’яті та має генерацію кеша зображень, тому 404-х у вашому CSS-файлі мають бути минулим.

Оновлення: AdvAgg 7.x розробляється і постачається з мінімізацією JS як додаткового підмодуля. Інші варіанти D7:
http://drupal.org/project/speedy
http://drupal.org/project/uglifyjs


1
З опису на сторінці я відчуваю тонкий натяк, що мені слід встановити цей модуль: D Добре, я спробую його.
wildpeaks

1
Так, я спробував цей модуль для сайту, єдине питання було в тому, що він мінімізував CSS таким чином, що сайт зламався. Я не знав, чи це пов'язано з механізмом мінімізації CSS або з погано зашифрованим CSS;) У будь-якому випадку, я був лише після мінімізації JS, оскільки JS істотно більший за CSS. Чи буде в цьому модулі можливість відключити змінення CSS? Приємна робота BTW
wiifm

Просто вимкніть модуль стиснення CSS. Він використовує бібліотеку CSSTidy, якщо вам цікаво.
mikeytown2

@ mikeytown2 Дякую вам за такий чудовий модуль. У мене є проблема з одним із моїх веб-сайтів css-файлів, коли-небудь не завантажуйте питання тут [ drupal.stackexchange.com/questions/128649/… та посилання на веб-сайт [ living.md/škari блукав, якщо я використовую advgg, чи потрібно мені вмикати drupal Агрегатування та стиснення CSS-файлів та файлів агрегування JavaScript. під виконанням. Я не можу знайти будь-яку документацію для модуля, будь-яку посилання на якусь базову настройку?
Яма

2

Для цього можна використовувати модуль Minify . Модуль мінімізації мінімізує JavaScript за допомогою компілятора Google. Він також працює з "Сукупними файлами JavaScript", тому ви також можете скористатися комбінуванням декількох файлів JavaScript, що є типовим параметром у Drupal 7.

Модуль мінімізації також мінімізує HTML.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.