Я пытаюсь уменьшить несколько файлов с помощью компрессора YUI. Однако, похоже, я получаю ошибку в двух строках кода, что предотвращает сжатие. Файл .js для jcarouselLite содержит одну ошибку, а мой собственный код содержит другую.
Я сузил его, и в обоих случаях похоже, что свойство float, используемое в jQuery, вызывает это. Строка такая:
li.css({overflow: "hidden", float: o.vertical ? "none" : "left"}); (jcarousellite)
$("#now-playing .js-kit-rating div:first").css({width: "80px", float: "right"}).addClass("clearing"); (own code)
Рабочий пример ошибки можно увидеть, запустив Код jCarouselLite через компрессор YUI, но в основном возвращенная ошибка является недопустимым идентификатором свойства.
У кого-нибудь были подобные проблемы с компрессором YUI?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это не YUI как таковой, это jcarouselLite js. «поплавок» - зарезервированное слово. Его нужно заключить в кавычки. НАПРИМЕР:
li.css({overflow: "hidden", "float": o.vertical ? "none" : "left"});
Аналогичная проблема с вашим собственным кодом. YUI изо всех сил пытается скомпилировать этот js, но откажется / предупредит вас о коде, подобном тому, который вы нашли. ИМО, это правильно.
Чтобы быть точным, float не является зарезервированным словом в javascript, но YUI отмечает его, потому что это «возможные будущие ключевые слова по спецификации ECMAScript».
Мне потребовалось время, чтобы понять, что проблема с var coordinates = { long: 0, lat: 0 }; (длинное зарезервированное слово). Спасибо.
Я несколько раз сталкивался с этой проблемой со словом «класс». Если вы используете YUI на стороне сервера, он должен выдать номер строки, на которую жалуется.
Вот список зарезервированных слов, который кажется довольно полным.
http://mattsnider.com/languages/javascript/reserved-words-in-javascript/
в моем случае, когда YUI не смог сжать мои файлы, это было потому, что у меня был «отладчик» в файле js. Надеюсь, это сэкономит кому-то еще несколько часов отладки!
Другие ответы здесь отвечают на актуальную проблему (зарезервированные слова). Но я использую YUI через BundleTransformer, и он не выводит номера строк, поэтому я немного не понимал, где искать.
Чтобы ускорить процесс поиска ключевых слов, я стал искать другой инструмент.
Этот онлайн-компрессор YUI помог мне найти проблемное имя свойства.
Я подготовил кастомную версию для обновления компрессора yui
https://github.com/MrD0llaro/yuicompressor а также https://github.com/MrD0llaro/yui-compressor-ant-task/ для использования в новом JQuery 3.5.1
Похоже, вам нужно запустить Firefox и отладчик Firebug JS, возможно, он должен улавливать такие вещи.