2017-08-24 2 views
0

Ich habe ein Projekt in Anglular 4, die Dienste bekommen JSON-Daten aus 'Assets' Ordner. Ich habe den Dist-Ordner mit dem Befehl 'ng build' erstellt und dann unter Standard-Sites zu IIS hinzugefügt. In der 'index.html' stelle ich fest.Deploy Winkel 4 zu IIS

Die Index-Seite geladen mit oker URL wie -

http://bla1.bla2.bla3.com/DistFolder

Allerdings bekomme ich Fehler für die Dateien, die ich in meinem Dienst beziehen mich withing den Ordner 'Assets'. Ich habe einige jsons und png-Datei in diesem Assets-Ordner.

ich Fehler wie unten -

Get http://bla1.bla2.bla3.com/assets/somefile.json 404 (nicht gefunden)

Ihre Hilfe sehr geschätzt wird.

Vielen Dank im Voraus.

Antwort

1

Angenommen, Sie verwenden IIS 7.5, wie das Tag sagt, und nicht eine spätere Version, stellen Sie sicher, dass Sie den JSON-Mime-Typ in IIS bedient werden. Grundsätzlich fügen Sie eine web.config in den Stammordner (wo index.html ist) mit diesem in ihm:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <staticContent> 
      <mimeMap fileExtension=".json" mimeType="application/json" /> 
     </staticContent> 
    </system.webServer> 
</configuration> 
+0

Hallo Andrei, Dieses Problem sieht nicht mit JSON zu sein, wie ich für einen gleichen Fehler bekam PNG-Datei, die ich im Ordner Assets habe. Ich habe das auch in meiner Frage erwähnt. –

+0

Dank Andrei Ihre Antwort war hilfreich. Allerdings musste ich die Probleme wie unten lösen, damit es funktioniert. i. Ich habe den Asset-Ordner als /asset/some.json anstatt ./assets/some.json in meinem Code bezeichnet. ii. Ich musste JSON aktivieren, wie Sie vorgeschlagen haben iii.Ich musste in web.config-Datei mit einer URL Rewrite-Regel wie unten angegeben hinzufügen: https://blogs.msdn.microsoft.com/premier_developer/2017/06/14/tips-for-running-an-eckig-app-in-iis/ –

+0

Ich bin froh, dass es geholfen hat. Zu Ihrer Information: Für Punkt 3 gibt es einen noch einfacheren Weg, dieses Problem zu lösen, ohne das URL-Rewrite-Modul installieren zu müssen. Überprüfen Sie meine Antwort auf [diesen Beitrag] (https://stackoverflow.com/a/45844151/6139866) für die Lösung. –