Deep-Linking funktioniert, wenn ich eine URL wie diese anfragen mydomain.com/my-appname/aRoute, aber wenn ich gehe zu my-domain.com/my-appname/aRoute/ system.js versucht um nach meiner main.js Datei unter my-domain.com/my-appname/aRoute/app/main.js zu suchen, wenn sie sich hier befindet: my-domain.com/my-appname/app/main.js so ein 404 ist produziert und eckig lädt nie.Angular2 Deep Linking Problem
Hier ist, wie ich versucht, meine app in system.js zu importieren
<script>
System.import('app')
.catch(function (err) { console.error(err); });
</script>
ich dynamisch bin meine Basis Wurzelelement wie diese Einstellung:
<script>
// this function is needed to dynamically determine the root url
// the angular2 router uses this to support deep linkinkg.
function getDocumentBase() {
let loc = document.location.href;
let locLower = loc.toLowerCase();
let ind = locLower.indexOf('myappnamehere/')
let newLoc = loc.substring(0, (ind + 14));
return newLoc;
}
document.write('<base href="' + getDocumentBase() + '" />');
</script>
aber es scheint, dass system.js verwendet das Basiselement nicht als Stammverzeichnis der App, wenn versucht wird, das App-Modul zu laden.
im Art von suprised die Winkeldurchlauf hat nicht Sie die baseUrl gesetzt, weil ich nicht sicher bin, wie mit Deeplinken systemjs in Verbindung funktionieren würde, – cobolstinks