【发布时间】:2013-06-26 19:07:42
【问题描述】:
我正在使用 AngularJS 路由来提供单页应用程序。配置是:
var ewiApp = angular.module("ewi", []);
ewiApp.config(function ($routeProvider, $locationProvider) {
$routeProvider.when('/home',
{
templateUrl: '/private/app/index.html'
});
$routeProvider.when('/alarms/active',
{
templateUrl: '/private/app/alarms/partials/active.html',
controller: 'ActiveAlarmListCtrl'
});
$routeProvider.otherwise({redirectTo: '/home'});
$locationProvider.html5Mode(true).hashPrefix('!');
});
我遇到的问题是,当我输入“/”或“/abc”或“/alarms/active”以外的任何内容时,angularjs 库进入无限循环,试图加载 index.html 文件和它的所有 javascript、css 和图像文件一遍又一遍。我注意到每个文件请求都添加了一个时间戳。我似乎 angularjs 试图不使用已经加载的文件的缓存版本。这将永远持续下去,直到我关闭浏览器选项卡。
我包括以下 javascript 库以及我们自己的一些库:
<script src="/lib/jquery/jquery-1.10.1.js"></script>
<script src="/lib/jquery/jquery-migrate-1.2.1.js"></script>
<script src="/lib/bootstrap/bootstrap.min.js"></script>
<script src="/lib/angular/angular.js"></script>
我看过一些讨论如何设置 AngularJS 路由的在线视频,它们都提到还需要一些服务器配置,但我没有看到任何具体确定服务器配置需要的内容。我想知道 angularjs 库中的无限循环问题是否与我需要在服务器上更改的内容有关?我正在使用 lighttpd 网络服务器。
我想知道是否有其他人遇到过这个问题?
【问题讨论】:
-
什么版本的 Angular?
-
我正在使用 AngularJS v1.0.7
-
我刚试过AngularJS v1.1.5,死循环文件重载问题依然存在。
-
你必须把它放在 Plunkr 中,人们才能真正看到正在运行的代码。
标签: caching angularjs routing timestamp infinite-loop