Javascript.RU

Google Closure Compiler в деталях

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

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

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


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

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

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

спасибо


Автор: Илья Кантор, дата: 30 ноября, 2009 - 22:02
#permalink

1. Да, можно, причем никаких патчей для этого не нужно. Свой проход компилятора.
Причем, этот проход можно добавить в качестве опции (там есть такая, свои проходы) в MyCompilerRunner, т.к. он независим.

2. Шаблон - нет, операции идут над деревом кода. А вот создать аналогичные функции с development_ - конечно, можно. Похожие действия выполняются в проходе, обрабатывающем exportSymbol.


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

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


Автор: Илья Кантор, дата: 12 декабря, 2009 - 11:55
#permalink

Написан же флаг, во введении --formatting PRETTY_PRINT


Автор: Riim, дата: 12 декабря, 2009 - 16:32
#permalink

При этом флаге он вообще все переносит, а нужно наоборот, что бы все в одну линию было.


Автор: Илья Кантор, дата: 12 декабря, 2009 - 19:24
#permalink

В одну линию - по умолчанию ведь ?


Автор: Гость (не зарегистрирован), дата: 7 мая, 2010 - 12:31
#permalink

По умолчанию бьётся на строки где-то по 550 символов длиной


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

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


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

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


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

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


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

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


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
4 + 3 =
Введите результат. Например, для 1+3, введите 4.
 
Текущий раздел
Поиск по сайту
Реклама
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

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

Последние обсуждения на форуме
Forum
Последние комментарии