2017-01-20 8 views
1

Мне не хватает чего-то, когда дело доходит до экспорта символов с помощью Google Closure Compiler. То, что я хочу сделать, - создать библиотеку Javascript и экспортировать только те функции, которые могут использовать клиенты.Экспортировать символы Javascript в библиотеке с помощью компилятора Google Closure

В документации указано использование аннотации @export для тех функций и свойств, которые вы хотите экспортировать. Но в нем также говорится, что вы должны определить как goog.exportSymbol, так и goog.exportProperty с той же сигнатурой метода в своей собственной базе кода. Так, например:

/** @export */ 
var DoSomething = (function() { 
}); 

goog.exportSymbol('DoSomething', goog.exportSymbol); 

Я скачал библиотеку закрытия и он содержит base.js файл, содержащий функцию goog.exportSymbol.

Но как вы включаете base.js? Все примеры показывают, что он включен в веб-страницу. Но мне не нужна веб-страница, и компилятор работает с кодом javascript, а не с веб-страницами.

ответ

0

Когда --generate_exports используется флаг, компилятор добавляет соответствующий goog.exportSymbol или goog.exportProperty вызова для каждого вхождения @export. Вот почему символы должны быть включены в компиляцию.

Чтобы включить base.js в свою компиляцию, просто передайте его компилятору, используя флаг --js, прежде чем передавать свой собственный код. Здесь ничего магического не происходит - это просто библиотека javascript.

 Смежные вопросы

  • Нет связанных вопросов^_^