2017-07-26 47 views
0

我正在构建一个Angular 2应用程序,并使用.NET Core和Webpack将我的静态资源编译到dist文件夹中。我正在使用一个插件来构建我的index.html文件,并将其放入我的wwwroot/dist文件夹中,但在如何配置我的Startup.cs文件以查找dist文件夹中的默认文件方面苦苦挣扎。.NET核心改变我的默认index.html文件的位置

目前,我有...

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

在我startup.cs文件,但它不会使用在我的DIST文件夹中生成中的index.html。关于我需要改变的任何想法?该文档没有给出我能找到如何做到这一点的很多参考。

谢谢。

+0

不什么都存在于wwwroot或dist文件夹中? –

+0

@TravisBoatman我也有一个图像和图标文件夹。 – dev53

回答

3

您可以使用如下代码的下方,但是当你把空的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中。

UPDATE:有简单而漂亮的解决方案使用来处理这个问题的WebRootProgram.cs象下面这样:

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(); 
} 

ConfigureStartup.cs方法,你只需要使用:

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