Ak mám hlavné nastavenie súboru main.ts ...
Main.ts
import {Aurelia} from "aurelia-framework"
import environment from "./environment";
//Configure Bluebird Promises.
(<any>Promise).config({
warnings: {
wForgottenReturn: false
}
});
export function configure(aurelia: Aurelia) {
aurelia.use
.standardConfiguration()
.feature("resources");
if (environment.debug) {
aurelia.use.developmentLogging();
}
if (environment.testing) {
aurelia.use.plugin("aurelia-testing");
}
// PLAYING AROUND - Log to Console the Value of ShowLanding Session Storage
let showLanding = false;
console.log(showLanding);
// let showLanding = sessionStorage.getItem("show_landing");
if (showLanding || showLanding === null) {
aurelia.start().then(() => aurelia.setRoot("landing"));
} else {
aurelia.start().then(() => aurelia.setRoot("blog/blog"));
}
}
Mám „Landing.html /.ts "v koreňovom adresári mojej aplikácie a zdá sa, že tento kúsok kódu funguje dobre. To znamená, že ak sa" showLanding = false "aplikácia načíta na moju stránku blog.html, a ak je pravdivá, bude načítať na moju stránku „Landing.html“.
Čo sa snažím urobiť, je vytvoriť stránku správcu. Kedykoľvek je navštívená adresa URL ".... com / admin" prejdite na stránku "admin.html", ktorú som nastavil.
Je to možné urobiť front-end? Jediným iným spôsobom, ako by som vedel, by bolo zladenie adresy URL a zobrazovania statickou cestou zo servera, áno?
odpovede:
1 pre odpoveď č. 1Toto sa mi podarilo dosiahnuť (tak, ako som to chcel) tak, že som jednoducho prečítal window.location.pathname a nastavil moju stránku administrátora ako root aplikácie.
so my Main.ts was changed to:
...
if (showLanding || showLanding === null) {
aurelia.start().then(() => aurelia.setRoot("landing"));
} else if (window.location.pathname == "/admin") {
aurelia.start().then(() => aurelia.setRoot("admin/admin"));
} else {
aurelia.start().then(() => aurelia.setRoot("blog/blog"));
}
}
Som si istý, že to pravdepodobne nie je najlepší spôsob, ako to dosiahnuť, ale zdá sa, že zatiaľ pracuje. Budem si istý a aktualizovať to, ak existujú nejaké problémy, na ktoré narazím.
Ak chce niekto iný, aby sa zapojil do akýchkoľvek alternatívnych myšlienok, obáv, návrhov alebo spätnej väzby, urobte to! Vďaka!