2016-11-22 87 views
0

我有以下ASP.NET核心項目結構:從文件夾中提供靜態文件裏面的wwwroot

. 
├── Controllers 
├── Dockerfile 
├── Models 
├── Program.cs 
├── Properties 
├── README.md 
├── Services 
├── Startup.cs 
├── Views 
├── appsettings.json 
├── bundleconfig.json 
├── project.json 
├── web.config 
└── wwwroot 

裏面wwwroot,我已經建立了使用奧裏利亞cli的奧裏利亞項目。它具有以下結構:

. 
├── aurelia-app 
├── css 
├── images 
├── js 
└── temp.html 

和我的aurelia-appindex.html文件,我想服務(當我瀏覽到localhost:5000,以類似的方式,如果它是在wwwroot

這裏就是我的Startup.cs配置()方法是這樣的:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
{ 
    loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
    loggerFactory.AddDebug(); 

    if (env.IsDevelopment()) 
    { 
     app.UseDeveloperExceptionPage(); 
     app.UseBrowserLink(); 
    } 
    else 
    { 
     app.UseExceptionHandler("/Home/Error"); 
    } 

    app.UseStaticFiles(); 

    app.UseFileServer(new FileServerOptions 
    { 
     EnableDefaultFiles = true, 
     EnableDirectoryBrowsing = true, 
    }); 

    app.UseMvc(); 
} 

我應該怎麼改變,這樣在加載基本URL,它會尋找index.html文件中wwwroot/aurelia-app目錄?

+3

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files – Alexan

+0

是的,我已經使用'PhysicalFileProvider'解決方案試過,但我得到的錯誤'找不到PhysicalFileProvider',我該如何補充? – akshayKhot

+0

我正在使用VSCode,所以不知道如何在沒有'nuget'的情況下添加外部依賴關係。 – akshayKhot

回答

1

我不確定這是否有效,但您可以嘗試。

var options = new DefaultFilesOptions 
{ 
    RequestPath = RequestPath = new PathString("/wwwroot/aurelia-app or /aurelia-app") 
}; 
app.UseDefaultFiles(options); 
app.UseStaticFiles(); 
1

這與您的網站的默認「索引」文件有關,而不是服務靜態文件。我想你想所有文件在wwwroot,而不僅僅是wwwroot/aurelia-app內。因此,將您的靜態文件中間件範圍設定爲wwwroot/aurelia-app將不起作用。

你最好的選擇可能是設置的默認應用程序的URL http://localhost:5000/aurelia-app/index.htmllaunchSettings.json(項目 - >屬性 - > launchSettings.json):

"iisExpress": { 
    "applicationUrl": "http://localhost:5000/aurelia-app/index.html", 
} 

你應該在你的IIS站點或應用Azure的設定等Web應用程序。 例如: Azure Web App settings

+0

有道理。是的,我想在'wwwroot'中提供所有文件。謝謝。所以我在'launchSettings.json'中添加了上面的代碼行,並且改變了'launchUrl',所以它看起來像[this](http://imgur.com/a/e0AfM)。不過,當我瀏覽到'localhost:5000'時,我得到以下內容:http://imgur.com/a/PgK45 – akshayKhot