AngularJS不会在浏览器重新加载

时间:2015-08-30 08:56:13

标签: javascript jquery angularjs node.js reload

我有一个新项目,其中包含以下组件:

  1. Node.js(v0.10.37)
  2. 快速微框架
  3. 玉石模板发动机
  4. Angular.js(最新)
  5. 材料设计库(material.angularjs.org)
  6. Jquery的
  7. 我在浏览器重新加载时遇到问题(按下浏览器刷新按钮)。我没有使用任何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);

    编辑: 我还发现当服务器和计算机(在localhost上运行)真的受到压力时会发生这种情况。 (82%RAM - 1个CPU核心,99%)

    我还跟踪了请求,发现文件在主要请求中正确加载,但在Angular(Ajax请求)中完成的请求不会被激活。

    我还安装了一些Chrome AngularJS调试插件,当发生这种情况时它也无法运行。

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

    要解决此问题,我会重新加载,有时我会重新加载2次以启动Angular.JS。

    以下情况如下:

    工作时

    界面 WORKING STATE

    控制台 WORKING STATE CONSOLE

    不工作时

    界面 NOT WORKING STATE

    控制台 NOT WORKING CONSOLE STATE

    这真让我烦恼。我将继续调查这个问题,但我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:2)

Evrika!

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

有关angular.js调试chrome / firefox扩展的问题。

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

不知何故,这种加载配置会因我的加载配置而混乱。

代码编写得很好,但我没想过这个。

因此,如果您解决此问题,请确保您的调试插件( ng-inspector angular batarang )不会与项目中的业务逻辑交互。< / p>

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

服务器负载 enter image description here

现在每个人都可以。