2017-07-26 3 views
0

Ich baue eine Angular 2-Anwendung und verwende .NET Core und Webpack, um meine statischen Ressourcen in einen Dist-Ordner zu kompilieren. Ich benutze ein Plugin, das meine index.html-Datei erstellt und sie in meinen Ordner wwwroot/dist stellt, aber ich habe Schwierigkeiten, meine Startup.cs-Datei so zu konfigurieren, dass sie nach der Standarddatei im Ordner "dist" sucht..NET Core ändert den Speicherort meiner Standard index.html-Datei

Zur Zeit habe ich ...

 app.UseDefaultFiles(); 
     app.UseStaticFiles(); 

In meiner startup.cs Datei, aber es wird nicht die index.html verwenden, die in meinem dist-Ordner erzeugt wird. Irgendwelche Ideen, was ich ändern muss? Die Dokumente geben nicht viel Hinweis von dem, was ich finden könnte, wie man das macht.

Danke.

+0

Does Gibt es irgendetwas in wwwroot oder nur im Ordner dist? –

+0

@TravisBoatman Ich habe auch einen Ordner Bilder und Symbole. – dev53

Antwort

3

Sie Code verwenden können, wie unten, aber es funktioniert nur, wenn Sie leer index.html setzen in die Wurzel wwwroot Ordner:

 app.UseDefaultFiles(); 
     // Serve wwwroot/dist as a root 
     app.UseStaticFiles(new StaticFileOptions() 
     { 
      FileProvider = new PhysicalFileProvider(
       Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\dist")) 
     }); 

RequestPath ist standardmäßig leer, so wird root-Pfad zeigen Sie index.html oder default.html aus wwwroot \ dist-Ordner.

UPDATE: Es ist einfach und schöne Lösung dieses Problem mit WebRoot in Program.cs wie unten zu handhaben:

public static void Main(string[] args) 
{ 
    var host = new WebHostBuilder() 
     .UseWebRoot(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "dist")) 
     .UseKestrel() 
     .UseContentRoot(Directory.GetCurrentDirectory()) 
     .UseIISIntegration() 
     .UseStartup<Startup>() 
     .UseApplicationInsights() 
     .Build(); 

    host.Run(); 
} 

In Configure Methode von Startup.cs Sie nur verwenden:

app.UseDefaultFiles(); 
    app.UseStaticFiles(); 
Verwandte Themen