AngularJS-Uncaught Error: [$injector:modulerr]

我在實驗AngularJS-系統代碼的配置和翻譯的時候遇到了以下圖所示的錯誤:html

在JS編程的時候會常常遇到,XXX不是一個函數,XXX未定義等等錯誤,只要看到和本身編寫的代碼語句相關的東西直接找到就能定位並將問題解決了,可是有時候前端拋出的錯誤和咱們本身編寫的代碼好像沒有什麼直接的關係,這時候就須要咱們好好的分析一下了,積累一些這方面的異常處理經驗也是挺有用的。前端

和咱們本身編寫的代碼沒有關係,咱們就要找找看,看看是否能找到一些聯繫,並從這些聯繫中將咱們的問題解決掉,以下是個人分析過程:編程

1:先好好的看一下報錯的提示信息,看看是否是本身一眼就能看穿的,看看能不能找到本身編寫的一些代碼片斷,若是不能的話,就嘗試點擊到框架的代碼的裏邊看看可否找到一些蛛絲馬跡瀏覽器

2:分析拋錯代碼段部分,看看可否大概定位到問題的所在,若是不行,就debug調試一下代碼服務器

3:調試框架代碼的過程當中注意觀察,看看是否能找到和本身代碼段相關的部分,通常就是這一塊引發的問題,即便不是也離問題源不遠了網絡

4:根據以上分析回頭查看本身的代碼段,定位並將問題解決掉框架

5:小結函數

軟件開發這件事情遇到各類各樣的問題是再日常不過的事情了,咱們的能力也是由咱們解決問題的能力來反襯出來的,對於前端編程而言,出現的問題通常都相對好定位、好解決一些。下面是我常常遇到的一些問題:post

5-1:XXX不是一個函數?測試

此類問題產生的緣由各式各樣,不過總的來說看看XXX是怎麼實現就能將問題解決了。要麼就不是一個函數,要麼被別的代碼覆蓋掉了後來變成不是一個函數了。

5-2:XXX未定義?

此類問題產生的緣由也是格式各樣,與5-1的解決方案相似,找XXX看看基本能將問題解決掉。要麼就是沒定義,要麼後來變成了undefined,常見於鏈式調用中。

5-3:瀏覽器崩潰了?

代碼極可能進入了死循環,執行那段代碼引發的,好好查看一番,若是不知道,只能一部分一部分的執行排查出對應的代碼段,而後分析爲何進入了死循環,找到引發問題的代碼段基本上能將問題解決掉。

5-4:瀏覽器不兼容?

這個問題是前端開發們比較頭大的一個問題,我也比較頭大,也遇到過N屢次了,誰讓瀏覽器廠家那麼多,爲了競爭本身多加一些特性或者對組織指定接口經過不一樣的方式實現,或者實現起來有所差別。這個要具體問題具體分析,另外就是在使用框架的時候,最好按照框架建議的方式編寫代碼,不要在代碼中有多種的代碼實現方式,好比:又有jQuery的實現方式,又有原生DOM的實現方式,又有AngularJS的實現方式。一是具體問題具體分析,另外就是積累一些瀏覽器對相同的功能不一樣的實現方式,添加根據不一樣瀏覽器使用不一樣方式實現的功能代碼。

5-5:瀏覽器加載速度比較慢?

這個問題也要具體問題具體分析了,網絡問題、服務器問題、資源的量比較大等等都有可能引發此類問題,發佈的代碼要儘可能的輕量話,要通過壓縮處理,多餘的代碼、多餘的註釋、多餘的打印、多餘的庫文件等等要所有的去掉,別的很差保證至少代碼自己要保證是最佳的。

5-6:一段代碼今天還能實現某個功能那,隔幾天就不靈了?

這個是最莫名其妙的,不過這個問題也時常的出現,多是原來就沒測試到、也多是其餘的代碼修改後引發的,修改別的代碼後沒有測試到這一塊沒有及時發現,也有多是庫文件或者框架文件的版本更改了致使的,無風不起浪事出必有因,看看是那裏變化了,引發了這裏的變化,要具體事件具體分析了。

5-7:一樣一段代碼,在這個頁面能實現某個功能到,粘貼複製到另一個頁面就不行了?

這裏的一樣必定是部分相同,必定有不一樣的地方,因此才這樣的。多是上下文不一樣了,多是大環境不一樣了,多是運行環境不一樣了,總之找到他們不一樣的地方就能定位到問題的所在了,若是不一樣的地方還蠻多的只能採用二分法逐一的排查了,直到定位到引發此問題的代碼片斷爲止。

5-8:代碼邏輯問題,對應的功能實現不了?

按F12而後找到對應的代碼打上斷點,一步一步的調試看看,不規範的代碼編寫方式經常引發一些莫名奇妙的問題,好比:一個方法經常不是一頭進一頭出,中間經常調用別的方法或者別的全局變量,並且調用這個方法或者變量的地方有好多處,又或者處處使用全局變量,還有變量名和方法名重複的狀況。

5-9:頁面元素的樣式、位置問題,很差看了、沒對齊了?

這個問題經常出現,一樣的頁面不一樣的瀏覽器或者一樣的瀏覽器不一樣的版本或者不一樣的設置就會出現這樣的問題,這也是使人頭疼的瀏覽器兼容性問題之一,測試的時候主流的瀏覽器都要試一下,而後調整,平時養成良好的編程習慣,積累一些一樣樣式或者功能不一樣瀏覽器不一樣實現的方式,而後在代碼中作出判斷後再選擇使用對應的方法。若是是使用框架,那就按照框架推薦的方式來使用吧!

5-10:框架的功能實現不了啦?

本身寫的代碼和框架起來衝突了,常見的是代碼的命名重複致使的,只能一步步排查了,也有多是其餘庫文件代碼致使的,固然這種問題出現的機率比較小,可是也是有可能的,具體事件具體分析。

相關文章
相關標籤/搜索