Asp.net mvc 找不到blazor.server.js文件
我创建了一个新的ASP.NET Core 3.0 Web应用程序,并选择了模型视图控制器选项。我想添加Blazor服务器端,所以我在Startup.cs文件中添加了以下内容Asp.net mvc 找不到blazor.server.js文件,asp.net-mvc,blazor,asp.net-core-3.0,Asp.net Mvc,Blazor,Asp.net Core 3.0,我创建了一个新的ASP.NET Core 3.0 Web应用程序,并选择了模型视图控制器选项。我想添加Blazor服务器端,所以我在Startup.cs文件中添加了以下内容 services.AddServerSideBlazor(); endpoints.MapBlazorHub(); 并添加了脚本文件 <script src="_framework/blazor.server.js"></script> 在我的布局文件中 我创建了一个简单的组件,显示我在文本
services.AddServerSideBlazor();
endpoints.MapBlazorHub();
并添加了脚本文件
<script src="_framework/blazor.server.js"></script>
在我的布局文件中
我创建了一个简单的组件,显示我在文本框中输入的内容,并将该组件添加到我的Index.cshtml
视图中。它在VisualStudio中工作,但当我将其推送到内部2016服务器时,会呈现组件,但不会显示文本。应用程序似乎找不到blazor.server.js
文件
推送JS文件时是否缺少其他部署步骤 最后我找到了答案,我不得不在“\u Layout.cshtml”的标题部分添加
.由于
blazor.server.js
是一个静态文件,请确保添加app.UseStaticFiles()代码>在startup.cs中
在我的例子中
app.UseStaticFiles(新的StaticFileOptions
{
ServeUnknownFileTypes=true,
DefaultContentType=“应用程序/八位字节流”
});
是什么导致了这个问题。替换为:
app.UseStaticFiles();
解决了这个问题。我想问题可能出在DefaultContentType
上
任何人都知道为什么会这样,请更新此答案。
在Startup.Configure(Startup.cs)中使用两个调用UseStaticFiles:
使用StaticFileOptions在第一次调用中配置自定义文件提供程序。
第二个中间件服务于blazor.server.js,它使用blazor框架提供的默认静态文件配置。
C#
汤姆,你的回答给了我正确的方向。Blazor会调整静态文件设置,如果您使用自己的StaticFileOptions覆盖这些设置,它将破坏Blazor。您可以通过再次调用UseStaticFiles来修复此问题。这将在将来的版本中修复。看见
using Microsoft.AspNetCore.StaticFiles;
...
var provider = new FileExtensionContentTypeProvider();
provider.Mappings["{EXTENSION}"] = "{CONTENT TYPE}";
app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = provider });
app.UseStaticFiles();