从Angular 1.2.14迁移到1.4.2会破坏整个应用程序

时间:2015-09-28 13:11:44

标签: angularjs migrate

我的角度App定义如下:

var myApp = angular.module('myApp', ['ngRoute','infinite-scroll','geolocation', 'ngAnimate', 'ngTouch','ui.filters', 'AxelSoft','angularLazyImg','wu.masonry','ui.bootstrap','ngSanitize']);

到目前为止,我使用的是AngularJS版本 1.2.14 。现在我需要使用AngularJS表单验证,为了做到这一点,我决定迁移到Angular的最新稳定版 1.4.2

当我更改角度版本时,事情就破了,控制台抛出

未捕获错误:[$ injector:modulerr] 以及以下堆栈跟踪:

错误:$ injector:modulerr 模块错误

Failed to instantiate module myApp due to:
TypeError: Cannot read property 'push' of undefined
    at http://localhost:8000/static/mobile/js/angularApp/app.js:6:37
    at Object.e [as invoke] (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:39:156)
    at d (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:37:328)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:37:452
    at m (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:7:322)
    at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:37:229)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:37:398
    at m (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:7:322)
    at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:37:229)
    at eb (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:40:503

我曾尝试阅读和理解angularJS官方迁移指南,但我可以为我找出其中的内容,因为我在代码中没有使用$ animate(It $ animate)和$ touch只注入另一个插件工作,即滑块,我也曾在任何地方使用' ngROute')

有谁知道应该在这做什么,因为我不知道我从哪里开始:)

1 个答案:

答案 0 :(得分:0)

所以这是迁移我的角度应用程序所需要做的。

  1. 使用相同版本的angular
  2. 迁移ngRoute和ngAnimate
  3. 删除1.2中的HTTP拦截器并将其更改为角度1.4的样式
  4. 就我而言,删除$ httpProvider并迁移ngAnimate和ngRoute解决了我的问题。