Проблемы со сжатием файла JQuery в YUI Compressor - PullRequest
24 голосов
/ 08 января 2009

Я пытаюсь минимизировать несколько файлов с помощью компрессора YUI. Тем не менее, я, кажется, получаю сообщение об ошибке в 2 строки кода, что предотвращает сжатие. Файл .js для jcarouselLite содержит 1 ошибку, а мой собственный код содержит другую.

Я сузил его, и в обоих случаях похоже, что это вызывает свойство 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?

Ответы [ 4 ]

58 голосов
/ 08 января 2009

Это не YUI само по себе, это jcarouselLite js. «плавать» является зарезервированным словом. Это должно быть заключено в кавычки. EG:

li.css({overflow: "hidden", "float": o.vertical ? "none" : "left"});

Аналогичная проблема с вашим собственным кодом. YUI изо всех сил пытается скомпилировать этот js, но откажет / предупредит вас о коде, подобном тому, который вы нашли. ИМО все делает правильно.

9 голосов
/ 14 мая 2009

Я несколько раз сталкивался с этой проблемой со словом "класс". Если вы используете YUI на стороне сервера, он должен указать номер строки, на которую жалуется.

Вот список зарезервированных слов, который кажется довольно полным.

http://mattsnider.com/languages/javascript/reserved-words-in-javascript/

3 голосов
/ 25 января 2015

Другие ответы здесь отвечают на реальную проблему (зарезервированные слова). Но я использую YUI через BundleTransformer , и он не выводит номера строк, поэтому я немного растерялся, где искать.

Чтобы ускорить процесс поиска ключевых слов, я отправился на поиски другого инструмента.

Этот онлайн-компрессор YUI помог мне найти проблемное имя свойства.

0 голосов
/ 13 августа 2014

в моем случае, когда YUI не смог сжать мои файлы, это произошло из-за того, что в файле js был «отладчик». Надеюсь, это сэкономит кому-то еще несколько часов на отладку!

...