2009-01-31 4 views
7

Использование YUICompressor я получаю следующее сообщение об ошибке от моего яваскрипта кода:Javascript YUICompressor ошибка

 
    [ERROR] 270:201:missing name after . operator 
    [ERROR] 292:6:missing ; before statement 

Вот Javascript код в следующих строках:

Line 270:

new _ow.getScript(_ow.wwwurl+'/widget/save?title='+encodeURIComponent(this.obj.title.value)+'&url='+encodeURIComponent(this.obj.url.value)+'&tags='+this.obj.tags.value+'&private='+this.obj.private.checked+'&c='+this.obj.notes.value+'&service='+services+'&token='+(_ow.token ? encodeURIComponent(_ow.token): ''), function(data) { 

Line 292 :

}); 

Я не могу понять, в чем проблема, так как этот код Javascript отлично работает во всех браузерах.


EDIT: Я разделить строку в несколько строк и понял, что «отсутствует имя после того, как оператор.» Порождается этим кодом:

this.obj.private.checked 

Is частное ключевое слово, делает компрессор YUI безумным?

ответ

0

Вы можете сделать свою жизнь намного проще, просто разбив ее на несколько строк. Вы сжимая его в любом случае, так что это не так, как это собирается сделать разницу в окончательный размер ...

3

Во-первых, я бы переформатировать код, чтобы сделать его более удобным для чтения:

new _ow.getScript(_ow.wwwurl 
    + '/widget/save?title=' 
    + encodeURIComponent(this.obj.title.value) 
    + '&url=' 
    + encodeURIComponent(this.obj.url.value) 
    + '&tags=' 
    + this.obj.tags.value 
    + '&private=' 
    + this.obj.private.checked 
    + '&c=' 
    + this.obj.notes.value 
    + '&service=' 
    + services 
    + '&token=' 
    + (_ow.token 
     ? encodeURIComponent(_ow.token) 
     : ''), 
    function(data) { 
    }); 

Тогда , строка #, сообщаемая компрессором, должна помочь вам разобраться в проблеме.

0

Remeber используйте опцию --type ех расслоение плотной.

yuicompressor --type js -o comressed.js filetocompress.js 
2

вы можете загрузить и установить Apache Ant, загрузить исходный Юи, редактировать исходный код (в папке Src, в орг и ком подпапок), чтобы удалить все ссылки на ключевое слово, блокирующим ваш прогресс (он идет довольно быстро, я отредактировал от 3 до 4 файлов, которые, как мне кажется, пришлось запускать муравей дважды, потому что первый раз получил ссылочную ошибку, но все, что нужно, это удалить еще одну строку, относящуюся к ключевому слову), и как только муравьиные компиляции успешно будут иметь новый .jar, и вы можете использовать это для компиляции проблемных js. сделал это с yuicompressor2-4.7 и ключевым словом «import» (довольно широко используется в расширении кода mozilla)

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