作者:伊劾kj | 来源:互联网 | 2023-01-28 12:49
我正在构建一个Angular 2应用程序,并使用.NET Core和Webpack将我的静态资源编译为dist文件夹.我正在使用一个插件来构建我的index.html文件并将其放在我的wwwroot/dist文件夹中,但我正在努力解决如何配置我的Startup.cs文件以查找dist文件夹中的默认文件.
目前我有......
app.UseDefaultFiles();
app.UseStaticFiles();
在我的startup.cs文件中,但它不会使用我的dist文件夹中生成的index.html.关于我需要改变什么的想法?对于如何做到这一点,文档没有提供太多参考.
谢谢.
1> user2771704..:
您可以使用下面的代码,但只有当您将空index.html放在wwwroot文件夹的根目录中时它才有效:
app.UseDefaultFiles();
// Serve wwwroot/dist as a root
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\dist"))
});
默认情况下,RequestPath为空,因此根路径将显示来自wwwroot\dist文件夹的index.html或default.html.
更新:使用WebRoot处理此问题有一个简单而美观的解决方案,Program.cs
如下所示:
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseWebRoot(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "dist"))
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup()
.UseApplicationInsights()
.Build();
host.Run();
}
在你的Configure
方法中Startup.cs
你只需使用:
app.UseDefaultFiles();
app.UseStaticFiles();