我们正在使用Angular 2为本地SharePoint 2013开发Web部件,并且遇到了堆栈空间不足的问题。问题。
在花费时间检查,双重检查,添加和删除互联网建议的每个polyfill的排列后,我们没有答案。想想也许这与我们的应用程序有关,我们使用最新版本的angular2-seed,重新设计了Web部件以加载捆绑的输出,但我们仍然得到错误。
应用程序的工作。他们在IE 9> 11和Edge中工作,这不是问题。但是,它们会破坏SharePoint功能区的一部分。最值得注意的是“网站设置”菜单。当您尝试选择一个菜单项时,会触发一个悬停事件,这是我们看到“堆栈空间不足”的地方。错误。发生错误后,由于JavaScript无法再次运行,因此功能区的进一步使用受到限制。
我们的应用程序和angular2-seed应用程序中的zone.js引发了错误,试图运行:
try {
return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);
}
catch (error) {
if (this._zoneDelegate.handleError(this, error)) {
throw error;
}
然而,这不是来自我们的代码。正如我上面提到的,它来自SharePoint JavaScript。似乎polyfill和/或zone.js中的某些内容覆盖了SharePoint所需的内容。
我们过去几年一直在使用AngularJS(ng1)并且没有问题,但我们正在创建我们的第一个Angular(ng2)应用程序,我们已经解决了IE / Edge。
各种Angular项目中的一些其他帖子和错误报告提出了不同的polyfill和其他模块的组合,但相信我,我们已经尝试过。问题不在于我们的应用程序,而在于SharePoint功能。任何帮助将不胜感激。
答案 0 :(得分:0)
好的,看起来像是zone.js的一个问题。 github.com/angular/zone.js/issues/618这就是问题所在。我尝试了修复,它主要起作用。现在有几件新事物,但至少我找到了合适的地方。在这篇文章发表时,zone.js / npm没有更新,但这应该在我假设的几天内完成。