2014-03-18 28 views
2

我有一個ExtJS應用程序(我現在不會包含源代碼)。當我在根應用程序目錄中運行Sencha CMD Web服務器時,一切正常,如預期的那樣。編譯後調試ExtJS錯誤

當我構建應用程序(使用Sencha應用程序版本),然後運行build目錄的煎茶CMD web服務器我得到的錯誤:

Uncaught TypeError: Cannot read property 'isComponent' of null app.js:1 
Ext.cmd.derive.constructor          app.js:1 
z                app.js:1 
(anonymous function)           app.js:1 

我創建建立之前工作得很好,這是發生在我最近做出的一些改變之後(新建)。我已經檢查了所有正常的嫌疑犯(要求,等等......),一切似乎都是按順序進行的。

我的問題是:你怎麼調試這種問題,因爲它工作正常預構建?

版本:4.2.1的ExtJS,煎茶CMD 4.0.2.67,從Chrome開發者工具錯誤

+0

嘗試使用Sencha CMD構建應用程序,然後將構建部署在tomcat/apache服務器中。 –

回答

6

上調試 ExtJS的沒有簡單的方法(或任何其他JavaScript)的程序,你得後精縮代碼,雖然有周圍的幾個方法可以幫助你越來越接近你的問題的根源,

  • 構建您的應用程序在測試模式sencha app build testing測試版本非縮小版本版本的正常版本您將能夠以這種方式查看人類可讀代碼。對大多數情況來說,這應該足夠了。
  • 美化您的縮小的來源代碼。雖然測試版本應該適用於大多數情況,但我經歷過一些測試代碼確實有效並且發行版本沒有的情況。儘量減少代碼美化至少將隔離拋出異常的行,雖然它可能很難識別,因爲所有的註釋都將消失,並且由於縮小過程,變量名看起來會有所不同,所以您可能會因爲字符串和分機呼叫不會改變,所以無論如何都要識別您的代碼。
  • 你可以嘗試也使用源地圖(這裏有關於這個問題的neat article),您將需要更改默認編譯closure compiler,然而,這並不是一個簡單的過程,這裏的一個detailed explanation命令編譯器選項。

我希望這個選項可以指向正確的方向。