Почему Closure Compiler и YUI Compressor имеют разные форматы аннотаций? - PullRequest
2 голосов
/ 09 февраля 2012

Я пытался найти его в Google, но не смог найти, почему Google Closure Compiler и YUI Compressor используют разные форматы аннотаций

Компилятор Google Closure использует формат JSDoc, в котором аннотации начинаются с /** Любые аннотации в другом формате удаляются.

YUI Compressor сохраняет аннотации только в том случае, если они начинаются с /*!

Я заметил, что большинство библиотек (например, jQuery) используют /*!

Не могли бы вы сказать, почему большинство библиотек используют формат /*!, а не формат JSDoc (который, я думаю, довольно популярен?)?

Не удалось найти флажки для Google Closure Compiler, чтобы аннотации начинались с /*!

Как лучше всего анализировать файлы с аннотациями в обоих форматах с помощью Google Closure Compiler и сохранять все аннотации? Сценарий оболочки, который использует потоковый редактор для замены /*! на /** и обратно после минификации?

Большое спасибо!

1 Ответ

1 голос
/ 14 февраля 2012

Closure Compiler удаляет все комментарии, кроме тех, которые являются частью @license или @preserve в аннотациях JSDoc (которые он перемещает в начало файла). "/ *!" служит аналогичной цели.

Точнее говоря, никто не заботится о "/ *!" чтобы сделать работу, добавьте поддержку Closure Compiler. Это должно быть разумно, поскольку YUI и Closure Compiler используют синтаксический анализатор javascript от Rhino (я не уверен, какую версию использует YUI, но Closure Compiler использует текущую).

...