2009-01-31 21 views
7

Sử dụng YUICompressor tôi nhận được lỗi sau từ mã javascript của tôi:Javascript YUICompressor lỗi

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

Dưới đây là các mã javascript vào dòng sau:

Dòng 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) { 

Đường dây 292 :

}); 

Tôi không thể tìm ra vấn đề là gì vì mã Javascript này hoạt động tốt trên tất cả các trình duyệt.


EDIT: Tôi tách dòng trong nhiều dòng và tìm ra rằng "thiếu tên nhà điều hành sau đó." Được tạo ra bởi mã này:

this.obj.private.checked 

tin từ khóa làm cho máy nén YUI phát điên?

Trả lời

0

Bạn có thể làm cho cuộc sống của riêng mình dễ dàng hơn nhiều bằng cách chia nhỏ ra nhiều dòng. Bạn đang nén nó anyway, do đó nó không giống như nó sẽ tạo sự khác biệt với kích thước cuối cùng ...

3

Trước tiên, tôi muốn định dạng lại mã để làm cho nó dễ đọc hơn:

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) { 
    }); 

Sau đó, , dòng # được báo cáo bởi máy nén sẽ giúp bạn tìm hiểu xem vấn đề là gì.

0

Remeber to use option --type js ex.

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

bạn có thể tải về và cài đặt ant apache, tải về nguồn yui, chỉnh sửa mã nguồn (trong thư mục src, trong org và thư mục con com) để loại bỏ tất cả các tài liệu tham khảo đến từ khóa chặn sự tiến bộ của bạn (nó đi khá nhanh, tôi đã chỉnh sửa khoảng 3 đến 4 tệp mà tôi nghĩ, phải chạy kiến ​​hai lần vì lần đầu tiên có lỗi tham chiếu, nhưng tất cả những gì cần làm là xóa một dòng khác đề cập đến từ khóa) và một khi kiến ​​biên dịch thành công bạn có một thương hiệu mới .jar và bạn có thể sử dụng nó để biên dịch các js có vấn đề của bạn. đã làm điều này với yuicompressor2-4.7 và từ khóa "nhập" (được sử dụng khá rộng rãi trong mã mở rộng mozilla)