Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Непонятки с Closure Compiler (https://javascript.ru/forum/library-toolkit-framework/30673-neponyatki-s-closure-compiler.html)

kobezzza 11.08.2012 21:21

Непонятки с Closure Compiler
 
Решил, что хватит боятся продвинутого режима GCC и пора изучат его нюансы:) Но сразу же появился затык, который я своими силами пока никак решить не могу, ситуация следующая:

var myConstructor = function () {};
myConstructor.prototype.vasua = 1;

myConstructor.vasua2 = 1;


Хочу сжать и чтобы названия этих свойств не пожались, пишу файл экстернов:

/** @constructor */
var myConstructor = function () {};
/** @type {number} */
myConstructor.prototype.vasua;

/** @type {number} */
myConstructor.vasua2 = 1;


В итоге GCC сохраняет не тронутыми название конструктора и myConstructor.prototype.vasua, но статичное свойство vasua2 продолжает сжиматься. Вопрос: что я делаю не так?

ЗЫ: про создание экспорта через [] я знаю - это уродство, хочется юзать по минимуму.

Заранее всем спс:)

kobezzza 11.08.2012 22:16

Цитата:

Сообщение от Дзен-трансгуманист (Сообщение 196733)
kobezzza,
Попробуйте директиву @expose

/** @expose */
myConstructor.vasua2 = 1;

А вообще, целый мануал есть: Annotating JavaScript for the Closure Compiler. :)

Огромное спасибо, помогло! :)

ЗЫ: я читал мануал по ссылке неск раз, но видимо постоянно проглядывал эту директиву, нужно мне быть внимательней, ещё раз спасибо!:)


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