Google Closure Compiler в деталях

Форум

Учебник Node.JS скринкаст Стандарт языка

Справочник

Discord чат

 
Статьи Тест знаний Аналоги функций PHP

Курсы javascript

 

Update: Более новый материал по этой теме находится по адресу https://learn.javascript.ru/multi-insert.

Этот раздел посвящен Google Closure Compiler.

Чтобы его написать, мне пришлось буквально разобрать компилятор по косточкам, благо все сырцы в наличии есть. И, как оказалось, оно того стоило.

Инструмент мощный, сложный (поначалу), парой слов тут не отделаешься. Надеюсь, что после прочтения данного раздела он станет для вас простым.

  • Share/Save

Автор: Гость (не зарегистрирован), дата: 30 ноября, 2009 - 18:55

#permalink

1. можно ли как-то заставить гугл компилятор(или только переписав изрядно JAVA сорцы) при компиляции запретить некоторые функции javascript на свое усмотрение (или даже методы объектов), например запретить использование eval или document.getElementByID

2. можно ли задать ему шаблон, который нужно использовать в момент минификации. Например, попросить префиксировать все функции/объекты словом "development_"
чтобы поддерживались альтернитивные синтаксисы функций function myFunction -> function development_myFunction и myFunction: function() -> development_myFunction: function()

спасибо


Автор: Riim, дата: 11 декабря, 2009 - 13:40

#permalink

Никак не могу найти, как отключить перенос строк или указать побольше (в YUICompressor-е для этого есть флаг --line-break). Подскажите, если кто знает.




Автор: cooli0, дата: 29 января, 2010 - 05:57

#permalink

Илья, низкий Вам поклон за проделанную работу. Всё очень доступно и интересно написано. Прочел все статьи.


Автор: АлександрМ (не зарегистрирован), дата: 26 января, 2011 - 12:22

#permalink

Однако поблагодарить вас за этот труд я считаю нужным!
Искренне благодарен. Спасибо.


Автор: Leadaxe (не зарегистрирован), дата: 14 февраля, 2011 - 00:50

#permalink

в личный список избранных руководств! низкий поклон за проделаную работу


Автор: FiMko, дата: 26 июля, 2011 - 21:14

#permalink

Проделанная работа вызывает изумление и восторг!
Илья, огромное вам человеческое спасибо!


Автор: Online-casinoz.ru (не зарегистрирован), дата: 4 марта, 2012 - 14:51

#permalink

интересная статья ! +


Автор: Гость (не зарегистрирован), дата: 22 ноября, 2012 - 02:11

#permalink

Здравствуйте. Вопрос такой: можно ли как то декомпилировать этот код? То есть хотя бы короткие пременные вернуть в прежний вид, или хотя бы как то теоритически объясните как возможно привести закомпиленный код в читабельный вид.


Автор: Denisko-Redisko, дата: 14 февраля, 2013 - 21:17

#permalink

На следующем примере, за счет инлайнинга констант closure compiler увеличивает размер исходника почти в три раза (вообще, на сколько угодно, зависит от длины строк bigString1 и bigString2):

var bigString1 = ".....";
var bigString2 = ".....";
return {
  all: bigString1 + " " + bigString2,
  bs1: bigString1,
  bs2: bigString2,
  bs1LC: bigString1.toLowerCase(),
  bs2LC: bigString2.toLowerCase(),
}

Автор: Гость (не зарегистрирован), дата: 28 мая, 2013 - 10:11

#permalink

Он умеет сжимать CSS? И что вообще есть для сжатия CSS? Что лучше сжимает?


Автор: Гость (не зарегистрирован), дата: 6 июня, 2013 - 20:49

#permalink

Даже с ADVANCED_OPTIMIZATIONS сэкономил всего 7%. Т.е. смысла использовать нету.
Если изначально код нормально написан то там нечего сжимать.

Правда packer сжал почти на 50%. Но там закодирование стоит, без него только на 65%, но все равно на много лучше гугла.

Странно очень.


 
Текущий раздел
Поиск по сайту
Содержание

Дерево всех статей

Последние темы на форуме
Forum