我有幾個javacsript文件,我使用js打包程序打包它們,然後將它們全部合併並將它們包含在頁面中。在javascript中找到錯誤
的問題是,他們都擠滿我得到這個錯誤後:
Error: missing ; before statement
我想這是因爲地方的JS文件新線來代替;
的性格,因爲封隔器刪除新行,你得到的錯誤
所以,我怎麼能找到哪裏;
在腳本(s)ommited?
我有幾個javacsript文件,我使用js打包程序打包它們,然後將它們全部合併並將它們包含在頁面中。在javascript中找到錯誤
的問題是,他們都擠滿我得到這個錯誤後:
Error: missing ; before statement
我想這是因爲地方的JS文件新線來代替;
的性格,因爲封隔器刪除新行,你得到的錯誤
所以,我怎麼能找到哪裏;
在腳本(s)ommited?
存在一個名爲jslint的工具,它可以用很多選項靜態分析JavaScript源代碼。它應該告訴你失敗的地方。還有一個在線版本可用。檢查出來: http://www.jslint.com/
根據您使用的工具,這可能會發生。假設有兩個.js文件:
a.js
(function() {
var bar = 10;
}())
b.js
var foo = 5;
alert(foo);
雙方將separatly工作,但如果你收拾在一起,就不會工作:
(function() { var bar = 10; }())var foo = 5;alert(foo);
顯然,因爲缺少;
。一個很好的模式,以避免對每一個啓動JavaScript文件與;
,如:
固定a.js
;(function() {
var bar = 10;
}())
固定b.js
;var foo = 5;
alert(foo);
輸出
;(function() {var bar = 10;}());var foo = 5;alert(foo);
全部清楚,謝謝!
傳遞解壓後的代碼通過JSLint。它會告訴你在哪裏放置你的分號。但是,它也可能表示其他幾十個錯誤:) – 2011-01-24 16:00:42
您可能需要更換壓縮機。 YUI Compressor很好,但Google Closure Compiler可能會更好。以下是關於此主題的文章:http://www.bloggingdeveloper.com/post/Closure-Compiler-vs-YUI-Compressor-Comparing-the-Javascript-Compression-Tools.aspx。 – 2011-01-24 16:07:15
謝謝。發現它:D(這是循環jquery插件btw) – Alex 2011-01-24 16:44:16