How can I get asp.net core to serve an index.html file from inside my wwwroot?
The reason I want to do this is because I an developing an angular 4 app using the ang
Install the NuGet package Microsoft.AspNetCore.StaticFiles.
Now, in Startup.Configure
method, add:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// Serve the files Default.htm, default.html, Index.htm, Index.html
// by default (in that order), i.e., without having to explicitly qualify the URL.
// For example, if your endpoint is http://localhost:3012/ and wwwroot directory
// has Index.html, then Index.html will be served when someone hits
// http://localhost:3012/
//
// (Function 1)
app.UseDefaultFiles();
// Enable static files to be served. This would allow html, images, etc. in wwwroot
// directory to be served.
//
// (Function 2)
app.UseStaticFiles();
}
Note: The order in which these functions are called is important. In OO programming, it's quite hard not to depend on ordering as objects maintain states that can vary during the lifetime of the object. (You guessed it right, one solution to prevent designs like this is to implement immutability.)
You should now get files served from wwwroot
directory (use UseWebRoot
if you want to change it to something else).
Source: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files