AngularJS 不会 运行 浏览器重新加载

AngularJS doesn't run on browser reload

我有一个新项目正在使用以下组件:

  1. Node.js (v0.10.37)
  2. Express 微框架
  3. Jade 模板引擎
  4. Angular.js(最新)
  5. Material 设计库 (material.angularjs.org)
  6. Jquery

我在重新加载浏览器(点击浏览器刷新按钮)时遇到问题。我没有使用任何 Angular.js 路由功能。我使用的是 Express 路由器,每个页面都有一个路由。

当我尝试刷新时,使用此组件构建的页面有时(20 次重新加载中的 1 次)AngularJS 只是 运行 没有任何控制台错误。

当我在如下路线之间导航时,问题更为常见:

我在 localhost:3000/index 我进入 localhost:3000/about

这种情况更容易出现这个问题。

编辑: 我没有使用任何 AngularJS 路由功能。

编辑: 我还测试了 DOMContentLoaded 包装解决方案。

编辑: 我附加了一个 plunker 但 问题没有重现。 我认为这也与服务器有关.骗子真的很接近现实。

ng-app="StarterApp"
See the plunker :)

编辑: http://plnkr.co/edit/Vi1AQxNxJTDBf4B1ZEhr?p=preview

编辑: 如果您在 plunker 上遇到错误,请告诉我。

编辑: 我也尝试激活:$locationProvider.html5Mode(true);

编辑: 我还发现当服务器和计算机(运行ning 在本地主机上)确实有压力时会发生这种情况。 (82% RAM - 1 CPU 核心 99%)

我还跟踪了请求,我发现文件在主要请求上正确加载,但在 Angular(Ajax 请求)中完成的请求没有触发。

我也安装了一些ChromeAngularJS调试插件,出现这种情况时运行也没有

这种情况有时会发生在我的所有页面上,所以我认为某些代码不会有用。

为了解决这个问题,我再次重新加载,有时我重新加载 2 次以启动 Angular.JS。

有以下几种情况:

工作时

界面

控制台

不工作时

界面

控制台

真是气死我了。我将继续调查此问题,但非常感谢任何帮助。

艾芙丽卡!

我发现了问题。谢谢大家的支持。

这是一个关于 angular.js 调试 chrome/firefox 扩展的问题。

Ng-Inspector 在每次加载脚本 ng-inspector.js 时加载,在这个脚本中它是一个控制器,它处理 $state 服务并声明如何加载用户模块以便将调试数据推送到插件中。

这个加载配置以某种方式与我的加载配置混淆了。

代码写的不错,没想到这个

因此,如果您遇到此问题,请确保您的调试插件(ng-inspectorangular batarang)不要在您的项目中与您的业务逻辑进行交互。

我做了一些压力测试以确保不再出现此问题。

服务器负载

现在一切正常。