![](/img/trans.png)
[英]Can't load static files on Blazor server behind NGINX proxy
[英]Blazor Server - static files don't link in non-DEV environments
似乎在標准的 Blazor 服務器應用程序中,除了開發環境之外,沒有正確引用 _content 文件夾項目。 例如,此引用在任何非開發環境中都失敗:
來自 _Host.cshtml:
<link href="_content/Blazored.Typeahead/blazored-typeahead.css" rel="stylesheet" />
以 Repro 為例,使用 Blazored-toast lib 作為示例(但任何 static 文件參考似乎都有這個問題):
新建 Blazor 服務器項目(dotnet new blazorserver)
我錯過了什么可以讓這個引用在其他環境中工作?
當應用程序發布時,從 Razor Class 庫中使用 static 資產即可使用。 您只需像您一樣通過<link href="..." />
包含 static 內容。
但是,當從構建 output(dotnet run)或通過 Visual Studio 中的 F5 運行應用程序時,您必須確保為給定環境啟用了 StaticWebAsset 功能。
默認情況下,它僅對開發環境啟用。 您可以通過確保在Program.CreateHostBuilder
中調用UseStaticFiles
並調用UseStaticWebAssets
來無條件地打開該功能。
因此,請確保您使用的應用程序具有:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
...
app.UseStaticFiles();
...
}
在你的 Program.cs 中你應該有
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStaticWebAssets();
webBuilder.UseStartup<Startup>();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.