Winkel-2\4 Vermögenswerte Pfad der nicht gefundenen Dateien nach build prod
Habe ich eine Eckige app und ich habe ein Bild und benutzerdefinierte schriftart unter dem Ordner "assets" (src/assets/images/bg.jpg und src/assets/fonts/segoeui.ttf).
Habe ich verwiesen bg.jpg und segoeui.ttf-in scss-Datei, etwa so:
Stile.css:
@font-face {
font-family: "AppFont";
src: url("/assets/fonts/segoeui.ttf");
}
@font-face {
font-family: "AppFont";
src: url("/assets/fonts/segoeuib.ttf");
font-weight: bold;
}
html,
body {
font-family: 'AppFont', Verdana, Geneva, Tahoma, sans-serif;
}
login.scss:
#login {
background: url("/assets/images/bg.jpg");
background-position: center;
background-attachment: fixed;
background-size: cover;
height: 100vh;
}
Und ich bin auch mit lazy geladene Module. Alles funktioniert wie erwartet in der Entwicklung Modus(wenn ich ng dienen). Allerdings, wenn ich zum release eine prod bauen (ng bauen-prod), ein dist-Ordner erstellt mit allen js\css-Dateien. Wenn ich verschieben Sie diese Dateien in einem virtuellen Verzeichnis eines Servers, Bilder und Schriften gespeichert und in Vermögenswerte verweisen auf root des Servers, statt auf das virtuelle Verzeichnis. Ich habe zum Beispiel Projekt befindet sich in myserver.com/myproject/index.html
in der Erwägung, dass diese app sucht nach Bildern in myserver.com/assets/bg.jpg
statt myserver.com/myproject/assets/bg.jpg
. Gleiche problem mit benutzerdefinierten schriftart zu. Jede Idee, wenn jemand von Euch dieses Problem? Wenn ja, bitte lassen Sie mich wissen, wie dieses Problem zu beheben.
Früher, auch die integrierte js\css Dateien wurden aus verwiesen root-Verzeichnis und nicht aus dem virtuellen Verzeichnis. Um dies zu beheben, habe ich geändert index.html von <base href="/">
zu <base href="./">
Version details:
@angular/cli: 1.0.1
node: 6.10.2
os: win32 x64
@angular/common: 4.1.1
@angular/compiler: 4.1.1
@angular/core: 4.1.1
@angular/forms: 4.1.1
@angular/http: 4.1.1
@angular/platform-browser: 4.1.1
@angular/platform-browser-dynamic: 4.1.1
@angular/router: 4.1.1
@angular/cli: 1.0.1
@angular/compiler-cli: 4.1.1
InformationsquelleAutor Deepak | 2017-05-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie ändern die Pfade so, dass Sie relativ
./
oder../
auf Ihre neue url-Pfad. Die/
im/assets
wird immer relativ zum Stammverzeichnis der Domäne.Beispiel:
src: url("./assets/fonts/segoeuib.ttf");
odersrc: url("../../assets/fonts/segoeuib.ttf");
Können Sie auch festlegen, baseHref dynamisch durch eckige-cli (wenn Sie es) wie erkläre ich meiner Antwort hier.
Diese Lösung wird funktionieren, ABER jetzt habe ich 2 Exemplare meines Vermögens. #1 in der
dist/assets/
Ordner. #2. Neue Kopie der gleichen Datei an der Wurzel des dist:dist/
. Ich brauche keine 2 Exemplare, was zu tun ist????InformationsquelleAutor Zze