Wie zu zwingen, Winkel-cli zu dienen, die die bundle-Dateien von einem absoluten Ort dann eher base-href

Ich habe Mühe mit dem bereitstellen von Winkel-4 Projekt erstellt mit cli, um eine Spring-boot-server.

In der .Winkel-cli.json ich Hinzugefügt outdir-Eigenschaft, die Punkte zu einem benutzerdefinierten Ordner im Frühjahr webapp-Ordner, die direkt in den server (webapp/main).

Den cli-Befehl bauen, das ich verwende ist:

ng build --base-href /main/ -a main

Erstellt, die die wichtigsten Ordner in der webapp, mit der index.html mit dem folgenden script-tags:

<base href="/main/">
...
<script type="text/javascript" src="inline.bundle.js"></script>
<script type="text/javascript" src="polyfills.bundle.js"></script>
<script type="text/javascript" src="vendor.bundle.js"></script>
<script type="text/javascript" src="main.bundle.js"></script></body>

was bedeutet, dass diese Dateien angefragt werden /main-Präfix, - e.g localhost:8080/main/inline.bundle.js

Das ist gut für eine Basis-app, aber ein Problem wird, wenn Routen Hinzugefügt werden, um die Winkel-app (Im Frühjahr, ich bin dienen die index.html für alle Pfade, die mit /main, zu erlauben, dass der Winkel Strecken, um richtig zu arbeiten, die bewirken, dass eine redirect-Schleife, die für die bundles, , wie Sie sind, beginnend mit /main sowie.

Wie kann ich erzwingen, das generierte Skript-tags für die Verwendung einer benutzerdefinierten Speicherort? Oder zumindest die genaue Angabe der absoluten Position, und nicht relais auf der base-href - (also ich kann das ändern der outDir-Eigenschaft auf Haupt-app, und das problem ist gelöst).

Die gewünschte Lösung wäre so etwas wie dieses:

<script type="text/javascript" src="/main-app/main.bundle.js"></script>

Dachte ich vielleicht hinzufügen, dass ein Skript ausgeführt werden, nachdem die ng zu bauen, die ändern den script-tags, aber es ist eine schmutzige Lösung, und auch nicht mit ng build --Uhr, die entscheidend für die Entwicklung...

Referenz, hier ist der Frühling controller-Funktion, dass die Karten /main Anforderungen:

@RequestMapping("main/**")
public String mainRoute(HttpServletRequest request) {
       return "/main/index.html";
}

Dank!

InformationsquelleAutor Nadav96 | 2017-05-02
Schreibe einen Kommentar