我有一个yeoman脚手架应用程序(角度全栈生成器)。
grunt serve工作得很好,但是grunt build生成的发行版锁定了内存,这很可能是因为angular中的循环引用。
我将angular升级到了1.2.15。我得到的错误是:
WARNING: Tried to Load Angular More Than Once
在升级之前,错误是:
Error: 10 $digest() iterations reached. Aborting!
它很难调试,因为它只在构建/缩小之后发生。我的所有模块都是angular的数组格式,所以缩减DI应该不是问题,但它确实是问题。
没有任何单一的脚本会导致这种情况。它消失的唯一方法是如果我没有初始化我的app.js文件。下面是我的app.js文件。
有没有想到什么?
'use strict';
angular.module('myApp', [
'ngCookies',
'ngResource',
'ngSanitize',
'ngRoute',
'ngTagsInput',
'ui.bootstrap',
'google-maps',
'firebase'
]);
angular.module('myApp').config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/listing.html',
controller: 'ListingCtrl'
})
.otherwise({
redirectTo: '/'
});
}]).constant('FIREBASE_URL', 'something');发布于 2014-03-25 00:45:18
这可能是许多问题:本质上是routeProvider找不到文件并递归加载默认文件的问题。
对我来说,事实证明不是缩小而是js的串联导致了问题。
angular.module('myApp').config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/listing.html',
controller: 'ListingCtrl'
})
.otherwise({
redirectTo: '/'
});
}]).constant('FIREBASE_URL', 'something');您将注意到,如果应用程序找不到文件(即otherwise),那么它将重定向到根目录,在本例中,根目录将加载templateUrl。但是如果你的templateUrl是错误的,那么它将导致一个递归,一次又一次地重新加载index.html,加载angular (和其他所有东西)。
在我的例子中,grunt-concat导致templateUrl在构建后出错,但不是在构建之前。
发布于 2014-03-24 12:40:55
这与app.js没有任何关系。相反,当您多次包含Angular JS库时,会记录此警告。
我已经设法在this JSBin中重现了这个错误。注意两个脚本标记(两个不同的版本):
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>相关的角度代码在GitHub。
发布于 2015-02-26 02:41:45
似乎没有人在任何地方提到过这一点,所以这是触发我的原因:我的身体上有ng-view指令。像这样改变它
<body layout="column">
<div ng-view></div>
...
</body>已停止错误。
https://stackoverflow.com/questions/22595878
复制相似问题