Sto lavorando a un'app web AngularJS utilizzando lo ngbp framework (precedentemente ng-boilerplate) che per impostazione predefinita utilizza AngularJS 1.2. Il progetto è nelle fasi iniziali, quindi stiamo sperimentando l'utilizzo di AngularJS 1.3 anziché di 1.2, in quanto ha alcune funzioni interessanti che vorremmo utilizzare. Stiamo lavorando anche partendo dal presupposto che AngularJS 1.3 sarà probabilmente la versione di rilascio quando andremo a vivere.AngularJS 1.3 con framework ngbp non viene caricato nel browser chrome quando si utilizza ng-strict-di
Quindi ho semplicemente cambiato il numero di versione di AngularJS nel file bower.json e tutto sembra funzionare correttamente in Chrome, Safari e Firefox tranne quando abilito un'iniezione di dipendenza rigorosa (ng-strict-di
). Quando la modalità DI è attiva, viene visualizzato l'errore seguente (more detail here), ma si verifica solo in Chrome (FF & Safari funzionano entrambi come previsto).
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
Sembra che per qualche motivo il codice sorgente angolare si sta venendo a mancare il test DI rigorosa e quindi non verrà caricato nel browser Chrome all'interno del quadro ngbp. L'errore sopra riportato proviene da un nuovo clone di ngbp con l'unica modifica della versione di AngularJS (1.3), non del nostro progetto attuale (sebbene l'errore sia lo stesso in entrambi i casi). So che questa versione di ngbp non supporta ufficialmente Angular 1.3 ma come ho detto l'app sembra funzionare bene con questa modifica, anche se non riesce questo test. Mi chiedo se qualcuno potrebbe avere qualche idea di ciò che sta causando questo errore e se sarebbe sconsigliato procedere con questa combinazione di AngularJS 1.3 e ngbp (versione: 0.3.2)? C'è qualcos'altro in ngbp che deve essere cambiato insieme alla versione di AngularJS?
Se aiuta a servire i file localmente tramite cd ../bin; http-server -p 8080
. Se qualche altra informazione mi aiutasse, fammelo sapere e sarei felice di fornirla se possibile.
Grazie per il vostro tempo.
EDIT: Se serve ho testato su OS X 10.9.4 con le seguenti versioni di browser:
- Chrome (versione 36.0.1985.143)
- 64 bit Chrome (versione 37.0.2062.94)
- Firefox (31,0)
- Safari (versione 7.0.5 (9537.77.4))
stai usando batarang? – psp
@psp Grazie per aver risposto. Uso batarang ma non è particolarmente utile in questo caso poiché AngularJS non viene mai caricato in Chrome, quindi non c'è nulla da analizzare per batarang. – jason
questo è probabilmente il problema allora, ha avuto un simile tempo fa – psp