M Kurock
M Kurock

Reputation: 41

Sharepoint - Angular 2 App using CLI Webpack

I was trying to deploy a Angular 2 CLI App to a SharePoint 2013 site. When I embed the app via a Content Editor Webpart, the app seems to work for.

Looking at the console reveals the following exception:

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

Where I got so far on my own is, this error is cased by SharePoints AJAX library and the ES6 shims. More accurate the string's startsWith function. I can't remember having any issues when using angular 2 RC with the systemJS module loader. Even though I used the ES6 shims as well.

I also found out, I used the ES6-Shim directly and the angular cli uses the core-js package from NPM.

Currently I am stuck, so hoping anyone has any input on this matter.

Thanks.

Upvotes: 2

Views: 1336

Answers (2)

b166er
b166er

Reputation: 209

I had the same issue in a Sharepoint feature, what worked was adding other and es6 shims before any other js packages are referenced in my master page.

My solution references ended up as:

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

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

Hope this helps!

Upvotes: 0

M Kurock
M Kurock

Reputation: 41

I got a little further. It actually works now. I can't say it works all the way but I got no error so far.

I did remove the following line from the "polyfills.ts":

import 'core-js/es6/string';

This removes the string startsWith function causing the error. Keep in mind this only works if you include the Microsoft Ajax library, so the function is available in general.

If anyone has a better solution I would appreciate it :)

Thanks

Upvotes: 2

Related Questions