Я работаю с большой JS-библиотекой, минимизированной с помощью ADVANCED_OPTIMIZATIONS
, и я хочу изменить способ переименования членов.
Вот что у меня есть на входе:
/**
* This is my class
* @constructor
* @param {string} name
* */
function MyClass(name) {
/**
* I want this public member to stay the same in the output since it will be exported
* @expose
* */
this.exposedMember = name;
/**
* But this member is meant to only be used by this class
* @private
* */
this.privateMember = "private";
}
var myObj = new MyClass("Jack");
myObj.exposedMember; // => "Jack"
myObj.privateMember; // => "private"
Вот что я получаю на выходе:
var myObj = new MyClass("Jack");
myObj.exposedMember; // => "Jack"
myObj.Rc; // => "private"
Вот что я хочу на выходе:
var myObj = new MyClass("Jack");
myObj.exposedMember; // => "Jack"
myObj._Rc; // => "private"
Причина в том, что я также работаю с Google Maps JS API, и у меня было несколько случаев, когда мои личные члены конфликтовали со своими при переходе от одной версии к другой. Наличие контроля над моими собственными приватными членами, где я могу выбрать префикс _
(или $
, или что-то еще), устранит проблему.
Есть ли что-то в командной строке, что может помочь мне сделать это? Если нет, есть ли плагин для Closure Compiler, который может это сделать? Что-то другое?
Спасибо