2014-09-02 18 views
1

我们有我们的生产日志文件奇怪的,零星的JavaScript错误消息(记录在后台JavaScript错误):

未捕获的错误:[$编译:tpload ] http://errors.angularjs.org/1.2.16/ $ compile/tpload?p0 = modules%2Fsome%2valid-directive-path.tpl.html

错误只出现在指令中。我无法在本地重现错误。指令的templateUrl全部有效。

我想到的唯一可能的情况是如果用户在页面加载时按下浏览器中的取消/停止按钮(然后我能够重现错误)。

有没有人有另一种想法或解释?甚至:-)

干杯解决 迈克尔

+0

你有没有得到解决这个问题。尽管我从未复制过,但我在生产日志中看到了很多这个问题。升级到1.3版似乎已经让它变得更糟。 – 2014-12-10 19:50:54

+0

嗨朱利安!我只是在下面回答了我自己的问题;-) – 2014-12-11 06:59:40

+0

我发现在模板html文件中放置HTML注释会引发此错误 – 2016-02-02 10:20:29

回答

1

我们解决这样的问题:

由于我们使用的是咕噜ngTemplate插件(https://www.npmjs.com/package/grunt-angular-templates)我们没有缓存我们的HTML模板与$ templateCache有上述问题了。

+0

谢谢。看起来像一个有趣的选择。不知道它会对我们有用,尽管我们的许多模板都是剃须刀部分,并且需要在运行时渲染到服务器端。我想我会尝试内联我所能做到的。 – 2014-12-12 08:46:33

1

出于兴趣,我能够重新创建此问题。通过将角度添加到角度,我确定当模板加载失败时,它的状态为0,这使我认为请求实际上已被取消。这个理论得到了我们没有发现服务器端错误的事实的支持。

如果我模拟的设备不支持HTML5路由,然后在路由的末尾添加一个任意的查询字符串,它会导致无限的摘要循环,最后整个页面会重新加载几次。这反过来导致未完成的模板请求被取消,导致我在日志中看到的错误。

所以,至少对我来说,这实在是无关的模板加载,它只是一个角度错误(这有望将被固定在角1.3.8)

+0

这个链接解释了我看到的这个问题的一些发生:https://github.com/angular/angular.js/issues/14219但是,我添加了一个客户端检查来放弃这些错误,而不是记录它们当页面被卸载时(因此XHR请求被取消)。尽管如此,我仍然看到很多错误,所以还有其他一些问题仍在发挥。开车给我香蕉。 (目前在1.5.11角上)。 – 2017-07-19 22:37:52