簡體   English   中英

使用ng-strict-di時,使用ngbp框架的AngularJS 1.3不會在chrome瀏覽器中加載

[英]AngularJS 1.3 with ngbp framework doesn't load in chrome browser when using ng-strict-di

我正在使用ngbp框架 (以前的ng-boilerplate)開發一個AngularJS Web應用程序,該框架默認使用AngularJS 1.2。 該項目處於早期階段,因此我們正在嘗試使用AngularJS 1.3而不是1.2,因為它有一些我們想要使用的很好的功能。 我們也在假設AngularJS 1.3可能是我們上線時的發布版本。

所以我只是在bower.json文件中切換AngularJS版本號,除了我啟用嚴格依賴注入( ng-strict-di )之外,一切似乎在Chrome,Safari和Firefox中都能正常工作。 當嚴格的DI模式打開時,我得到下面的錯誤( 這里有更多詳細信息 ),但它只發生在Chrome中(FF和Safari都按預期工作)。

Failed to instantiate module ng due to:
Error: [$injector:strictdi] function($provide) is not using explicit annotation and cannot be invoked in strict mode
http://errors.angularjs.org/1.3.0-build.3121+sha.a4520a7/...)
    at http://localhost:8080/assets/ngbp-0.3.2.js:87:12
    at annotate (http://localhost:8080/assets/ngbp-0.3.2.js:3352:17)
    at Object.invoke (http://localhost:8080/assets/ngbp-0.3.2.js:4036:21)
    at runInvokeQueue (http://localhost:8080/assets/ngbp-0.3.2.js:3964:35)
    at http://localhost:8080/assets/ngbp-0.3.2.js:3973:11
    at forEach (http://localhost:8080/assets/ngbp-0.3.2.js:338:20)
    at loadModules (http://localhost:8080/assets/ngbp-0.3.2.js:3954:5)
    at createInjector (http://localhost:8080/assets/ngbp-0.3.2.js:3894:11)
    at doBootstrap (http://localhost:8080/assets/ngbp-0.3.2.js:1494:20)
    at bootstrap (http://localhost:8080/assets/ngbp-0.3.2.js:1509:12

似乎由於某種原因,角度源代碼本身未通過嚴格的DI測試,因此不會在ngbp框架內加載Chrome瀏覽器。 上述錯誤來自ngbp的新克隆,唯一的變化是AngularJS(1.3)的版本,而不是我們的實際項目(盡管兩種情況下的錯誤都相同)。 我知道這個版本的ngbp並沒有正式支持Angular 1.3,但正如我所說,即使它沒有通過這個測試,應用程序似乎也可以正常使用。 我想知道是否有人可能對導致此錯誤的原因有什么了解,以及是否繼續使用AngularJS 1.3和ngbp(版本:0.3.2)的組合是不明智的? ngbp中是否還有其他東西需要隨AngularJS的版本一起更改?

如果它有助於我通過cd ../bin; http-server -p 8080在本地提供文件cd ../bin; http-server -p 8080 cd ../bin; http-server -p 8080 如果有任何其他信息可以幫助我告訴我,我很樂意盡可能提供。

謝謝你的時間。

編輯:如果它有助於我在OS X 10.9.4上使用以下瀏覽器版本進行測試:

  • Chrome(版本36.0.1985.143)
  • 64位Chrome(版本37.0.2062.94)
  • 火狐(31.0)
  • Safari(版本7.0.5(9537.77.4))

看起來你可能正在使用batarang ,它與ng-strict-di不兼容。 嘗試從谷歌瀏覽器開發工具中禁用batarang,應用程序應該再次正常啟動。


[edit] AngularJS batarang現在支持ng-strict-di因為v0.5.0 不應再發生此錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM