2

我试图将 Angular 2 CLI 应用程序部署到 SharePoint 2013 站点。当我通过内容编辑器 Webpart 嵌入应用程序时,该应用程序似乎可以正常工作。

查看控制台会发现以下异常:

zone.js:158 Uncaught Error: Sys.ParameterCountException: Parameter count mismatch.(…)
Error$create @ ScriptResource.axd?d=vGEzwRDnzucQkv59macWaabQYp5RLWFMwrgR1osi9VE8xnWRibgXoL_U0e3xLpsQRNiQ4MJkoONvpt…:237
Error$parameterCount @ ScriptResource.axd?d=vGEzwRDnzucQkv59macWaabQYp5RLWFMwrgR1osi9VE8xnWRibgXoL_U0e3xLpsQRNiQ4MJkoONvpt…:413
Function$_validateParameterCount @ ScriptResource.axd?d=vGEzwRDnzucQkv59macWaabQYp5RLWFMwrgR1osi9VE8xnWRibgXoL_U0e3xLpsQRNiQ4MJkoONvpt…:118
Function$_validateParams @ ScriptResource.axd?d=vGEzwRDnzucQkv59macWaabQYp5RLWFMwrgR1osi9VE8xnWRibgXoL_U0e3xLpsQRNiQ4MJkoONvpt…:70
String$startsWith @ ScriptResource.axd?d=vGEzwRDnzucQkv59macWaabQYp5RLWFMwrgR1osi9VE8xnWRibgXoL_U0e3xLpsQRNiQ4MJkoONvpt…:491
startsWith @ es6.string.starts-with.js:15Sys$UI$DomEvent @ ScriptResource.axd?d=vGEzwRDnzucQkv59macWaabQYp5RLWFMwrgR1osi9VE8xnWRibgXoL_U0e3xLpsQRNiQ4MJkoONvpt…:3986
browserHandler @ ScriptResource.axd?d=vGEzwRDnzucQkv59macWaabQYp5RLWFMwrgR1osi9VE8xnWRibgXoL_U0e3xLpsQRNiQ4MJkoONvpt…:4052
ZoneDelegate.invokeTask @ zone.js:265Zone.runTask @ zone.js:154ZoneTask.invoke @ zone.js:335

到目前为止,我自己的情况是,SharePoints AJAX 库和 ES6 垫片会导致此错误。更准确的字符串的startsWith函数。我不记得在将 angular 2 RC 与 systemJS 模块加载器一起使用时遇到任何问题。尽管我也使用了 ES6 垫片。

我还发现,我直接使用了 ES6-Shim,而 Angular cli 使用了 NPM 的 core-js 包。

目前我被困住了,所以希望有人对此事有任何意见。

谢谢。

4

2 回答 2

2

我走得更远了。它现在确实有效。我不能说它一直有效,但到目前为止我没有出错。

我确实从“polyfills.ts”中删除了以下行:

import 'core-js/es6/string';

这将删除导致错误的字符串 startsWith 函数。请记住,这仅在您包含 Microsoft Ajax 库时才有效,因此该功能通常可用。

如果有人有更好的解决方案,我将不胜感激:)

谢谢

于 2016-11-03T14:12:41.833 回答
0

我在 Sharepoint 功能中遇到了同样的问题,起作用的是在我的母版页中引用任何其他 js 包之前添加其他和 es6 垫片。

我的解决方案参考最终为:

-node_modules/core-js/client/shim.min.js 

-node_modules/es6-shim/es6-shim.min.js 

希望这可以帮助!

于 2020-06-22T12:56:12.197 回答