Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Google Closure Compiler (https://javascript.ru/forum/misc/27185-google-closure-compiler.html)

Tim 04.04.2012 21:51

Google Closure Compiler
 
кто использует? как отключить предупреждения. в режиме ADVANCED_OPTIMIZATIONS на jQuery часто ругается. порядка 3.5 тысяч предупреждений. в итоге процесс сжатия оч сильно замедляется.

B~Vladi 04.04.2012 22:10

Заюзай externs-файл: https://developers.google.com/closur...orial3#externs

observer 04.04.2012 23:38

Цитата:

Сообщение от Tim (Сообщение 167127)
кто использует? как отключить предупреждения. в режиме ADVANCED_OPTIMIZATIONS на jQuery часто ругается. порядка 3.5 тысяч предупреждений. в итоге процесс сжатия оч сильно замедляется.

Расскажите, для чего вам понадобилась расширенная оптимизация. А вообще, с ней вы шишек себе на жопе набьёте, забудьте про нее.

melky 04.04.2012 23:39

Цитата:

Сообщение от observer (Сообщение 167151)
Расскажите, для чего вам понадобилась расширенная оптимизация. А вообще, с ней вы шишек себе на жопе набьёте, забудьте про нее.

нет, она пушистая и красивая. а ещё она взрывная. она мне нравится, десу.

trikadin 05.04.2012 03:06

Цитата:

Сообщение от observer
Расскажите, для чего вам понадобилась расширенная оптимизация. А вообще, с ней вы шишек себе на жопе набьёте, забудьте про нее.

Это прямо радует) Приехал ты в авторемонт, а тебе там и говорят: "Ты нахера себе бмв купил? Шишек с ним себе набьёшь, подвеска слабая, забудь про него"

Предлагаю отвечать на вопрос.

Tim 05.04.2012 08:26

B~Vladi,
Не знаю на сколько это верно, но сделал так
Код:

jQuery = $ = function(){}

$.css
$.html
$.click
$.post
...

работает

observer,
сжимается лучше гораздо. настроить под эту оптимизацию скрипт не так уж сложно. точнее совсем не сложно.



Ещё такой вопрос: как средствами командной строки склеить все файлы в папке, а то у меня ощущение что я набыдлокодил немного

Код:

copy /b externs.js externs.all.js /Y

FOR /R %%i IN (lib/*.js) DO (

        :: Копирование во временный файл
        copy /b externs.all.js temp.js /Y
       
        :: Приклейка очередной библиотеки
        copy /b temp.js + lib\%%~ni%%~xi externs.all.js /Y
)

:: Удаление временного файла
del temp.js

суть в том что я не нашёл способа указать несколько файлов экстернов при вызове GCC. т.е. у меня есть папка lib с библиотеками типа jQuery и мой файл экстернов. всё это я собираю в один файл. можно сделать это без цикла FOR?

B~Vladi 05.04.2012 10:25

Tim, в файле экстернов ты просто указываешь имена переменных через запятую, на которые компилятор не будет ругаться.
Цитата:

Сообщение от Tim
суть в том что я не нашёл способа указать несколько файлов экстернов при вызове GCC

Посмотри внимательно по ссылке, которую я тебе дал. Там есть пример указания нескольких файлов:
Цитата:

java -jar compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS \
--js makeallnotes.js --externs extern1.js --externs extern2.js
Пользуясь случаем, хочу ещё раз напомнить о моем сборщике: https://github.com/B-Vladi/Site-builder

Там есть и склейка, и компилятор.

Gozar 05.04.2012 11:11

Цитата:

Сообщение от trikadin (Сообщение 167194)
"Ты нахера себе бмв купил? Шишек с ним себе набьёшь, подвеска слабая, забудь про него"

Я согласен, что коммент ни о чём, но соглашусь с observer, а сравнение некорректно. Приехал ты в автосервис и просишь заменить двигатель у BMV на двигатель от Mitsubishi или Mercedes. Разница не велика, а геморрой предполагается, т.к. двигатели разного размера и вообще могут не подходить, придется переходники клепать или/и исходный код править.

Сам им пользуюсь для сборки, но ADVANCED не подключаю, времени жалко на ублажение.

observer 05.04.2012 12:25

Цитата:

Сообщение от trikadin (Сообщение 167194)
Это прямо радует) Приехал ты в авторемонт, а тебе там и говорят: "Ты нахера себе бмв купил? Шишек с ним себе набьёшь, подвеска слабая, забудь про него"

Ну, вы же профессор, что я с вами тут спорить буду.

observer 05.04.2012 12:32

Цитата:

Сообщение от trikadin
Предлагаю отвечать на вопрос.

Да, давайте тупо будем "делать то", о чем где-то написано! Если человек не знает нужно это ему или нет, то, в первую очередь, нужно узнать "зачем" ему это, а потом уже и предложить адекватные решения для конкретной задачи.

Я смотрю у вас огромный опыт. Что же вы сделали такого примечательного, на что можно посмотреть?

trikadin 05.04.2012 13:33

Цитата:

Сообщение от observer
Если человек не знает нужно это ему или нет, то, в первую очередь, нужно узнать "зачем" ему это, а потом уже и предложить адекватные решения для конкретной задачи.

Я не увидел в ваших сообщениях ни одного конкретного аргумента против gcc, который бы заставил меня (и автора темы) задуматься о необходимости использования данного инструмента. Аргументы же за gcc есть, и неплохие - при грамотном использовании данного инструмента существенно уменьшается вес скрипта и, в некоторых случаях, оптимизируется производительность.

Цитата:

Сообщение от observer
Да, давайте тупо будем "делать то", о чем где-то написано!

Не совсем так) Есть хорошие статьи, где раскрывается, как использовать gcc и как избежать при этом риска "поломки" скрипта. В том числе и на данном сайте. Поэтому о "тупом использовании" речи не идёт.

И да - я не пользуюсь gcc. Просто мне кажется, что не нужно сразу заявлять человеку, что он неправ, используя его - нужно показать плохие стороны данного инструмента, и неплохо бы предложить альтернативу. (А уж в совсем идеальном варианте - всё-таки ответить на вопрос)

Цитата:

Сообщение от observer
Я смотрю у вас огромный опыт. Что же вы сделали такого примечательного, на что можно посмотреть?

Да вы демагог, батенька)

Gozar 05.04.2012 14:12

Цитата:

Сообщение от trikadin
И да - я не пользуюсь gcc

А ты им пользовался? Если нет, то в этом разговоре как раз ты демагог.

Я им пользуюсь постоянно и сжимать код обфускатором не самая лучшая идея увеличения производительности. Я так понимаю мы опять считаем миллисекунды. В данном случае observer прав говоря что ТС огребет геморрой, он его уже огребает. Поэтому возникает закономерный и логичный вопрос: - зачем?

Я думаю все мы читали статью на сайте. Альтернатива чего? геморроя? Продвинутый режим используют в основном чтобы сделать нечитабельным код, потому что других "адекватных" причин вроде как и нет.

Может быть для Closure Library он и оправдан, если не смотрел, то скачай и посмотри, но для jquery вряд ли.

trikadin 05.04.2012 17:04

Цитата:

Сообщение от Gozar
А ты им пользовался? Если нет, то в этом разговоре как раз ты демагог.

Пользовался.

В принципе, я тоже пришёл к выводу, что сильного смысла в сжатии скриптов нету. При современных скоростях разница в 20кб незначительна)


Часовой пояс GMT +3, время: 10:41.