single-spa / single-spa-angular

Helpers for building single-spa applications which use Angular
Apache License 2.0
199 stars 78 forks source link

PlatformLocation injection fails in Angular4 child application #6

Closed yavuztor closed 6 years ago

yavuztor commented 6 years ago

I have been trying to set up a single-spa main application and two angular4 children, one with routing and one without. The bootstrap for the child application is here: https://github.com/yavuztor/single-spa-trial/blob/master/childapp2/app/bootstrap.ts.

When I open the main application, the child application without router (childapp) works fine, but the one with the router fails with error:

Uncaught Error: 'childapp2' died in status NOT_MOUNTED: StaticInjectorError[PlatformLocation]: 
  StaticInjectorError[PlatformLocation]: 
    NullInjectorError: No provider for PlatformLocation!
    at _NullInjector.get (core.umd.js:349)
    at resolveToken (core.umd.js:533)
    at tryResolveToken (core.umd.js:495)
    at StaticInjector.get (core.umd.js:402)
    at resolveToken (core.umd.js:533)
    at tryResolveToken (core.umd.js:495)
    at StaticInjector.get (core.umd.js:402)
    at resolveNgModuleDep (core.umd.js:4466)
    at _callFactory (core.umd.js:4515)
    at _createProviderInstance$1 (core.umd.js:4475)
_NullInjector.get @ core.umd.js:349
resolveToken @ core.umd.js:533
tryResolveToken @ core.umd.js:495
StaticInjector.get @ core.umd.js:402
resolveToken @ core.umd.js:533
tryResolveToken @ core.umd.js:495
StaticInjector.get @ core.umd.js:402
resolveNgModuleDep @ core.umd.js:4466
_callFactory @ core.umd.js:4515
_createProviderInstance$1 @ core.umd.js:4475
initNgModule @ core.umd.js:4435
NgModuleRef_ @ core.umd.js:5110
createNgModuleRef @ core.umd.js:5100
debugCreateNgModuleRef @ core.umd.js:6745
NgModuleFactory_.create @ core.umd.js:7386
(anonymous) @ core.umd.js:2087
ZoneDelegate.invoke @ zone.js:347
onInvoke @ core.umd.js:1817
ZoneDelegate.invoke @ zone.js:347
Zone.run @ zone.js:128
NgZone.run @ core.umd.js:1762
PlatformRef.bootstrapModuleFactory @ core.umd.js:2082
(anonymous) @ core.umd.js:2119
ZoneDelegate.invoke @ zone.js:347
Zone.run @ zone.js:128
(anonymous) @ zone.js:787
ZoneDelegate.invokeTask @ zone.js:373
Zone.runTask @ zone.js:181
drainMicroTaskQueue @ zone.js:528
promiseReactionJob @ es6-shim.js:1955
(anonymous) @ es6-shim.js:1945
Item.run @ browser.js:153
drainQueue @ browser.js:123
setTimeout (async)
scheduleTask @ zone.js:1783
ZoneDelegate.scheduleTask @ zone.js:363
Zone.scheduleTask @ zone.js:216
Zone.scheduleMacroTask @ zone.js:234
(anonymous) @ zone.js:1799
proto.(anonymous function) @ zone.js:1218
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
t.(anonymous function) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
s @ single-spa.js:5103
ZoneDelegate.invoke @ zone.js:347
Zone.runGuarded @ zone.js:149
(anonymous) @ zone.js:110
characterData (async)
n @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
M @ single-spa.js:5103
D @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
ZoneDelegate.invoke @ zone.js:347
Zone.run @ zone.js:128
(anonymous) @ zone.js:787
ZoneDelegate.invokeTask @ zone.js:373
Zone.runTask @ zone.js:181
drainMicroTaskQueue @ zone.js:528
promiseReactionJob @ es6-shim.js:1955
(anonymous) @ es6-shim.js:1945
Item.run @ browser.js:153
drainQueue @ browser.js:123
setTimeout (async)
runTimeout @ browser.js:50
process.nextTick @ browser.js:143
enqueuePromiseReactionJob @ es6-shim.js:1944
then @ es6-shim.js:2284
scheduleMicroTask @ zone.js:512
ZoneDelegate.scheduleTask @ zone.js:365
Zone.scheduleTask @ zone.js:216
Zone.scheduleMicroTask @ zone.js:231
scheduleResolveOrReject @ zone.js:785
ZoneAwarePromise.then @ zone.js:904
PlatformRef.bootstrapModule @ core.umd.js:2118
mount @ single-spa-angular2.js:60
i @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
ZoneAwarePromise @ zone.js:803
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
t.(anonymous function) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
E @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
t.(anonymous function) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
s @ single-spa.js:5103
ZoneDelegate.invoke @ zone.js:347
Zone.runGuarded @ zone.js:149
(anonymous) @ zone.js:110
characterData (async)
n @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
M @ single-spa.js:5103
C @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
ZoneDelegate.invoke @ zone.js:347
Zone.run @ zone.js:128
(anonymous) @ zone.js:787
ZoneDelegate.invokeTask @ zone.js:373
Zone.runTask @ zone.js:181
drainMicroTaskQueue @ zone.js:528
promiseReactionJob @ es6-shim.js:1955
(anonymous) @ es6-shim.js:1945
Item.run @ browser.js:153
drainQueue @ browser.js:123
setTimeout (async)
runTimeout @ browser.js:50
process.nextTick @ browser.js:143
enqueuePromiseReactionJob @ es6-shim.js:1944
then @ es6-shim.js:2284
scheduleMicroTask @ zone.js:512
ZoneDelegate.scheduleTask @ zone.js:365
Zone.scheduleTask @ zone.js:216
Zone.scheduleMicroTask @ zone.js:231
scheduleResolveOrReject @ zone.js:785
ZoneAwarePromise.then @ zone.js:904
i @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
ZoneAwarePromise @ zone.js:803
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
t.(anonymous function) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
E @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
s @ single-spa.js:5103
ZoneDelegate.invoke @ zone.js:347
Zone.runGuarded @ zone.js:149
(anonymous) @ zone.js:110
characterData (async)
n @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
M @ single-spa.js:5103
C @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
ZoneDelegate.invoke @ zone.js:347
Zone.run @ zone.js:128
(anonymous) @ zone.js:787
ZoneDelegate.invokeTask @ zone.js:373
Zone.runTask @ zone.js:181
drainMicroTaskQueue @ zone.js:528
ZoneTask.invokeTask @ zone.js:444
invokeTask @ zone.js:1367
globalZoneAwareCallback @ zone.js:1383
XMLHttpRequest.send (async)
scheduleTask @ zone.js:2344
ZoneDelegate.scheduleTask @ zone.js:363
Zone.scheduleTask @ zone.js:216
Zone.scheduleMacroTask @ zone.js:234
(anonymous) @ zone.js:2376
proto.(anonymous function) @ zone.js:1218
fetchTextFromURL @ system.src.js:1041
(anonymous) @ system.src.js:1777
ZoneAwarePromise @ zone.js:803
(anonymous) @ system.src.js:1776
(anonymous) @ system.src.js:2801
(anonymous) @ system.src.js:3379
(anonymous) @ system.src.js:3711
(anonymous) @ system.src.js:4103
(anonymous) @ system.src.js:4568
(anonymous) @ system.src.js:4837
(anonymous) @ system.src.js:408
ZoneDelegate.invoke @ zone.js:347
Zone.run @ zone.js:128
(anonymous) @ zone.js:787
ZoneDelegate.invokeTask @ zone.js:373
Zone.runTask @ zone.js:181
drainMicroTaskQueue @ zone.js:528
promiseReactionJob @ es6-shim.js:1955
(anonymous) @ es6-shim.js:1945
Item.run @ browser.js:153
drainQueue @ browser.js:123
setTimeout (async)
runTimeout @ browser.js:50
process.nextTick @ browser.js:143
enqueuePromiseReactionJob @ es6-shim.js:1944
then @ es6-shim.js:2284
scheduleMicroTask @ zone.js:512
ZoneDelegate.scheduleTask @ zone.js:365
Zone.scheduleTask @ zone.js:216
Zone.scheduleMicroTask @ zone.js:231
scheduleResolveOrReject @ zone.js:785
resolvePromise @ zone.js:742
(anonymous) @ zone.js:684
(anonymous) @ zone.js:875
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
s @ single-spa.js:5103
ZoneDelegate.invoke @ zone.js:347
Zone.runGuarded @ zone.js:149
(anonymous) @ zone.js:110
characterData (async)
n @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
M @ single-spa.js:5103
C @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
ZoneDelegate.invoke @ zone.js:347
Zone.run @ zone.js:128
(anonymous) @ zone.js:787
ZoneDelegate.invokeTask @ zone.js:373
Zone.runTask @ zone.js:181
drainMicroTaskQueue @ zone.js:528
ZoneTask.invokeTask @ zone.js:444
invokeTask @ zone.js:1367
globalZoneAwareCallback @ zone.js:1383
XMLHttpRequest.send (async)
scheduleTask @ zone.js:2344
ZoneDelegate.scheduleTask @ zone.js:363
Zone.scheduleTask @ zone.js:216
Zone.scheduleMacroTask @ zone.js:234
(anonymous) @ zone.js:2376
proto.(anonymous function) @ zone.js:1218
fetchTextFromURL @ system.src.js:1041
(anonymous) @ system.src.js:1777
ZoneAwarePromise @ zone.js:803
(anonymous) @ system.src.js:1776
(anonymous) @ system.src.js:2801
(anonymous) @ system.src.js:3379
(anonymous) @ system.src.js:3711
(anonymous) @ system.src.js:4103
(anonymous) @ system.src.js:4568
(anonymous) @ system.src.js:4837
(anonymous) @ system.src.js:408
ZoneDelegate.invoke @ zone.js:347
Zone.run @ zone.js:128
(anonymous) @ zone.js:787
ZoneDelegate.invokeTask @ zone.js:373
Zone.runTask @ zone.js:181
drainMicroTaskQueue @ zone.js:528
promiseReactionJob @ es6-shim.js:1955
(anonymous) @ es6-shim.js:1945
Item.run @ browser.js:153
drainQueue @ browser.js:123
setTimeout (async)
runTimeout @ browser.js:50
process.nextTick @ browser.js:143
enqueuePromiseReactionJob @ es6-shim.js:1944
then @ es6-shim.js:2284
scheduleMicroTask @ zone.js:512
ZoneDelegate.scheduleTask @ zone.js:365
Zone.scheduleTask @ zone.js:216
Zone.scheduleMicroTask @ zone.js:231
scheduleResolveOrReject @ zone.js:785
ZoneAwarePromise.then @ zone.js:904
(anonymous) @ system.src.js:4795
import @ system.src.js:830
(anonymous) @ system.src.js:1800
loadChildapp @ root-application.js:14
(anonymous) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
t.(anonymous function) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
E @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
t.(anonymous function) @ single-spa.js:5103
r @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
E @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
(anonymous) @ single-spa.js:5103
o @ single-spa.js:5103
u @ single-spa.js:5103
execute @ root-application.js:9
ensureEvaluated @ system.src.js:3358
execute @ system.src.js:3508
doDynamicExecute @ system.src.js:757
link @ system.src.js:955
doLink @ system.src.js:621
updateLinkSetOnLoad @ system.src.js:664
(anonymous) @ system.src.js:486
tryCatchReject @ system-polyfills.src.js:1188
runContinuation1 @ system-polyfills.src.js:1147
Fulfilled.when @ system-polyfills.src.js:935
Pending.run @ system-polyfills.src.js:826
Scheduler._drain @ system-polyfills.src.js:102
Scheduler.drain @ system-polyfills.src.js:67
run @ system-polyfills.src.js:273
characterData (async)
(anonymous) @ system-polyfills.src.js:279
Scheduler.run @ system-polyfills.src.js:92
Scheduler.enqueue @ system-polyfills.src.js:77
Pending.become @ system-polyfills.src.js:838
Pending.resolve @ system-polyfills.src.js:791
promiseResolve @ system-polyfills.src.js:395
load @ system.src.js:996
xhr.onreadystatechange @ system.src.js:1017
XMLHttpRequest.send (async)
fetchTextFromURL @ system.src.js:1041
(anonymous) @ system.src.js:1777
init @ system-polyfills.src.js:382
Promise @ system-polyfills.src.js:370
(anonymous) @ system.src.js:1776
(anonymous) @ system.src.js:2801
(anonymous) @ system.src.js:3379
(anonymous) @ system.src.js:3711
(anonymous) @ system.src.js:4103
(anonymous) @ system.src.js:4568
(anonymous) @ system.src.js:4837
(anonymous) @ system.src.js:408
tryCatchReject @ system-polyfills.src.js:1188
runContinuation1 @ system-polyfills.src.js:1147
Fulfilled.when @ system-polyfills.src.js:935
Pending.run @ system-polyfills.src.js:826
Scheduler._drain @ system-polyfills.src.js:102
Scheduler.drain @ system-polyfills.src.js:67
run @ system-polyfills.src.js:273
characterData (async)
(anonymous) @ system-polyfills.src.js:279
Scheduler.run @ system-polyfills.src.js:92
Scheduler.enqueue @ system-polyfills.src.js:77
Pending.become @ system-polyfills.src.js:838
Pending.resolve @ system-polyfills.src.js:791
promiseResolve @ system-polyfills.src.js:395
load @ system.src.js:996
xhr.onreadystatechange @ system.src.js:1017
XMLHttpRequest.send (async)
fetchTextFromURL @ system.src.js:1041
(anonymous) @ system.src.js:1777
init @ system-polyfills.src.js:382
Promise @ system-polyfills.src.js:370
(anonymous) @ system.src.js:1776
(anonymous) @ system.src.js:2801
(anonymous) @ system.src.js:3379
(anonymous) @ system.src.js:3711
(anonymous) @ system.src.js:4103
(anonymous) @ system.src.js:4568
(anonymous) @ system.src.js:4837
(anonymous) @ system.src.js:408
tryCatchReject @ system-polyfills.src.js:1188
runContinuation1 @ system-polyfills.src.js:1147
Fulfilled.when @ system-polyfills.src.js:935
Pending.run @ system-polyfills.src.js:826
Scheduler._drain @ system-polyfills.src.js:102
Scheduler.drain @ system-polyfills.src.js:67
run @ system-polyfills.src.js:273
characterData (async)
(anonymous) @ system-polyfills.src.js:279
Scheduler.run @ system-polyfills.src.js:92
Scheduler.enqueue @ system-polyfills.src.js:77
Pending.become @ system-polyfills.src.js:838
Pending.resolve @ system-polyfills.src.js:791
promiseResolve @ system-polyfills.src.js:395
load @ system.src.js:996
xhr.onreadystatechange @ system.src.js:1017
XMLHttpRequest.send (async)
fetchTextFromURL @ system.src.js:1041
(anonymous) @ system.src.js:1777
init @ system-polyfills.src.js:382
Promise @ system-polyfills.src.js:370
(anonymous) @ system.src.js:1776
(anonymous) @ system.src.js:2801
(anonymous) @ system.src.js:3379
(anonymous) @ system.src.js:3711
(anonymous) @ system.src.js:4103
(anonymous) @ system.src.js:4568
(anonymous) @ system.src.js:4837
(anonymous) @ system.src.js:408
tryCatchReject @ system-polyfills.src.js:1188
runContinuation1 @ system-polyfills.src.js:1147
Fulfilled.when @ system-polyfills.src.js:935
Pending.run @ system-polyfills.src.js:826
Scheduler._drain @ system-polyfills.src.js:102
Scheduler.drain @ system-polyfills.src.js:67
run @ system-polyfills.src.js:273
characterData (async)
(anonymous) @ system-polyfills.src.js:279
Scheduler.run @ system-polyfills.src.js:92
Scheduler.enqueue @ system-polyfills.src.js:77
Pending.become @ system-polyfills.src.js:838
Pending.resolve @ system-polyfills.src.js:791
promiseResolve @ system-polyfills.src.js:395
load @ system.src.js:996
xhr.onreadystatechange @ system.src.js:1017
XMLHttpRequest.send (async)
fetchTextFromURL @ system.src.js:1041
(anonymous) @ system.src.js:1777
init @ system-polyfills.src.js:382
Promise @ system-polyfills.src.js:370
(anonymous) @ system.src.js:1776
(anonymous) @ system.src.js:2801
(anonymous) @ system.src.js:3379
(anonymous) @ system.src.js:3711
(anonymous) @ system.src.js:4103
(anonymous) @ system.src.js:4568
(anonymous) @ system.src.js:4837
(anonymous) @ system.src.js:408
tryCatchReject @ system-polyfills.src.js:1188
runContinuation1 @ system-polyfills.src.js:1147
Fulfilled.when @ system-polyfills.src.js:935
Pending.run @ system-polyfills.src.js:826
Scheduler._drain @ system-polyfills.src.js:102
Scheduler.drain @ system-polyfills.src.js:67
run @ system-polyfills.src.js:273
characterData (async)
(anonymous) @ system-polyfills.src.js:279
Scheduler.run @ system-polyfills.src.js:92
Scheduler.enqueue @ system-polyfills.src.js:77
Pending.become @ system-polyfills.src.js:838
Pending.resolve @ system-polyfills.src.js:791
promiseResolve @ system-polyfills.src.js:395
load @ system.src.js:996
xhr.onreadystatechange @ system.src.js:1017
XMLHttpRequest.send (async)
fetchTextFromURL @ system.src.js:1041
(anonymous) @ system.src.js:1777
init @ system-polyfills.src.js:382
Promise @ system-polyfills.src.js:370
(anonymous) @ system.src.js:1776
(anonymous) @ system.src.js:2801
(anonymous) @ system.src.js:3379
(anonymous) @ system.src.js:3711
(anonymous) @ system.src.js:4103
(anonymous) @ system.src.js:4568
(anonymous) @ system.src.js:4837
(anonymous) @ system.src.js:408
tryCatchReject @ system-polyfills.src.js:1188
runContinuation1 @ system-polyfills.src.js:1147
Fulfilled.when @ system-polyfills.src.js:935
Pending.run @ system-polyfills.src.js:826
Scheduler._drain @ system-polyfills.src.js:102
Scheduler.drain @ system-polyfills.src.js:67
run @ system-polyfills.src.js:273
characterData (async)
(anonymous) @ system-polyfills.src.js:279
Scheduler.run @ system-polyfills.src.js:92
Scheduler.enqueue @ system-polyfills.src.js:77
Pending.become @ system-polyfills.src.js:838
Pending.resolve @ system-polyfills.src.js:791
promiseResolve @ system-polyfills.src.js:395
load @ system.src.js:996
xhr.onreadystatechange @ system.src.js:1017
XMLHttpRequest.send (async)
fetchTextFromURL @ system.src.js:1041
(anonymous) @ system.src.js:1777
init @ system-polyfills.src.js:382
Promise @ system-polyfills.src.js:370
(anonymous) @ system.src.js:1776
(anonymous) @ system.src.js:2801
(anonymous) @ system.src.js:3379
(anonymous) @ system.src.js:3711
(anonymous) @ system.src.js:4103
(anonymous) @ system.src.js:4568
(anonymous) @ system.src.js:4837
(anonymous) @ system.src.js:408
tryCatchReject @ system-polyfills.src.js:1188
runContinuation1 @ system-polyfills.src.js:1147
Fulfilled.when @ system-polyfills.src.js:935
Pending.run @ system-polyfills.src.js:826
Scheduler._drain @ system-polyfills.src.js:102
Scheduler.drain @ system-polyfills.src.js:67
run @ system-polyfills.src.js:273
characterData (async)
(anonymous) @ system-polyfills.src.js:279
Scheduler.run @ system-polyfills.src.js:92
Scheduler.enqueue @ system-polyfills.src.js:77
Pending.become @ system-polyfills.src.js:838
Pending.resolve @ system-polyfills.src.js:791
promiseResolve @ system-polyfills.src.js:395
load @ system.src.js:996
xhr.onreadystatechange @ system.src.js:1017
XMLHttpRequest.send (async)
fetchTextFromURL @ system.src.js:1041
(anonymous) @ system.src.js:1777
init @ system-polyfills.src.js:382
Promise @ system-polyfills.src.js:370
(anonymous) @ system.src.js:1776
(anonymous) @ system.src.js:2801
(anonymous) @ system.src.js:3379
(anonymous) @ system.src.js:3711
(anonymous) @ system.src.js:4103
(anonymous) @ system.src.js:4568
(anonymous) @ system.src.js:4837
(anonymous) @ system.src.js:408
tryCatchReject @ system-polyfills.src.js:1188
runContinuation1 @ system-polyfills.src.js:1147
Fulfilled.when @ system-polyfills.src.js:935
Pending.run @ system-polyfills.src.js:826
Scheduler._drain @ system-polyfills.src.js:102
Scheduler.drain @ system-polyfills.src.js:67
run @ system-polyfills.src.js:273
characterData (async)
(anonymous) @ system-polyfills.src.js:279
Scheduler.run @ system-polyfills.src.js:92
Scheduler.enqueue @ system-polyfills.src.js:77
Pending.become @ system-polyfills.src.js:838
Pending.resolve @ system-polyfills.src.js:791
promiseResolve @ system-polyfills.src.js:395
load @ system.src.js:996
xhr.onreadystatechange @ system.src.js:1017
XMLHttpRequest.send (async)
fetchTextFromURL @ system.src.js:1041
(anonymous) @ system.src.js:1777
init @ system-polyfills.src.js:382
Promise @ system-polyfills.src.js:370
(anonymous) @ system.src.js:1776
(anonymous) @ system.src.js:2801
(anonymous) @ system.src.js:3379
(anonymous) @ system.src.js:3711
(anonymous) @ system.src.js:4103
(anonymous) @ system.src.js:4568
(anonymous) @ system.src.js:4837
(anonymous) @ system.src.js:408
tryCatchReject @ system-polyfills.src.js:1188
runContinuation1 @ system-polyfills.src.js:1147
Fulfilled.when @ system-polyfills.src.js:935
Pending.run @ system-polyfills.src.js:826
Scheduler._drain @ system-polyfills.src.js:102
Scheduler.drain @ system-polyfills.src.js:67
run @ system-polyfills.src.js:273
characterData (async)
(anonymous) @ system-polyfills.src.js:279
Scheduler.run @ system-polyfills.src.js:92
Scheduler.enqueue @ system-polyfills.src.js:77
Pending.become @ system-polyfills.src.js:838
Pending.resolve @ system-polyfills.src.js:791
promiseResolve @ system-polyfills.src.js:395
load @ system.src.js:996
xhr.onreadystatechange @ system.src.js:1017
XMLHttpRequest.send (async)
fetchTextFromURL @ system.src.js:1041
(anonymous) @ system.src.js:1777
init @ system-polyfills.src.js:382
Promise @ system-polyfills.src.js:370
(anonymous) @ system.src.js:1776
(anonymous) @ system.src.js:2801
(anonymous) @ system.src.js:3379
(anonymous) @ system.src.js:3711
(anonymous) @ system.src.js:4103
(anonymous) @ system.src.js:4568
(anonymous) @ system.src.js:4837
(anonymous) @ system.src.js:408
tryCatchReject @ system-polyfills.src.js:1188
runContinuation1 @ system-polyfills.src.js:1147
Fulfilled.when @ system-polyfills.src.js:935
Pending.run @ system-polyfills.src.js:826
Scheduler._drain @ system-polyfills.src.js:102
Scheduler.drain @ system-polyfills.src.js:67
run @ system-polyfills.src.js:273
characterData (async)
(anonymous) @ system-polyfills.src.js:279
Scheduler.run @ system-polyfills.src.js:92
Scheduler.enqueue @ system-polyfills.src.js:77
Async.when @ system-polyfills.src.js:892
Handler.chain @ system-polyfills.src.js:742
Promise.then @ system-polyfills.src.js:487
(anonymous) @ system.src.js:4795
import @ system.src.js:830
(anonymous) @ system.src.js:1800
(anonymous) @ (index):8

The PlatformLocation is in BrowserModule, and it is included in the imports. I don't quite understand what I am missing.

xeii commented 6 years ago

I think this might be related to my problem as well, I tried using angular version 5.0.3 and got

Uncaught Error: 'app2' died in status LOADING_SOURCE_CODE: StaticInjectorError[{provide:PlatformLocation, useClass:BrowserPlatformLocation}]: 'deps' required

I already know this is related to this section from angular changelog:

platformXXXX() no longer accepts providers which depend on reflection. Specifically the method signature went from Provider[] to StaticProvider[].

yavuztor commented 6 years ago

It turns out my issue had nothing to do with single-spa-angular2. I had the wrong versions of @angular/platform-browser, @angular/platform-browser-dynamic, and @angular/core (see my package.json file here). There was a mixture of 5.0.2 and 5.0.3 versions. After I upgraded all to 5.0.3, routing started to work as normal.

If you still have similar problems after making sure the versions match, like I did, this issue created in angular repo might be helpful.

I am closing this issue since it is not caused by single-spa-angular2.

joeldenning commented 6 years ago

Glad to hear you got it figured out -- tbh I saw this yesterday and was going to dig into it until I saw the stacktrace and then realized it might take a lot of time and was hoping to get back to it today haha.

@xeii did you get your problem solved?

xeii commented 6 years ago

No I didnt, I did check that my angular version is 5.03 across all of the packages. I had problems with angular version 4 and tried running 5. I described my setup in another issue here: https://github.com/CanopyTax/single-spa-angular2/issues/2#issuecomment-347864894

What I am ultimately trying to achieve is what you described here: https://github.com/CanopyTax/single-spa/issues/126#issue-270846851

With the addition that I want to load multiple angular applications from HTTP endpoints, hit a wall with ng4 and ng5.

EDIT: I was able to solve the issue with ng4, the StaticInjectorError with ng5 remains.