找不到blazor.server.js文件

时间:2019-09-24 21:21:24

标签: asp.net-mvc blazor asp.net-core-3.0

我创建了一个新的ASP.NET Core 3.0 Web应用程序,并选择了Model-View-Controller选项。我想添加Blazor服务器端,因此将以下内容添加到Startup.cs文件中。

services.AddServerSideBlazor(); 
endpoints.MapBlazorHub();

并添加了脚本文件

<script src="_framework/blazor.server.js"></script>

在我的布局文件中。

我创建了一个简单的组件来显示我在文本框中输入的内容,并将该组件添加到我的Index.cshtml视图中。它可以在Visual Studio中运行,但是当我将其推送到内部2016服务器时,会呈现该组件,但不会显示文本。该应用似乎找不到blazor.server.js文件。

是否缺少其他一些部署步骤来提升JS文件?

4 个答案:

答案 0 :(得分:7)

就我而言,

app.UseStaticFiles(new StaticFileOptions
{
    ServeUnknownFileTypes = true,
    DefaultContentType = "application/octet-stream"
});

是引起问题的原因。替换为:

app.UseStaticFiles();

解决了问题。我发现问题可能出在DefaultContentType

任何人都知道为什么会发生这种情况,请更新此答案。

答案 1 :(得分:3)

最后弄清楚了,我不得不在“ _Layout.cshtml”的开头部分添加<base href="~/" />

Found the answer here

答案 2 :(得分:1)

https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/static-files?view=aspnetcore-5.0

在 Startup.Configure (Startup.cs) 中使用两次对 UseStaticFiles 的调用:

在第一次调用中使用 StaticFileOptions 配置自定义文件提供程序。 第二个中间件提供 blazor.server.js,它使用 Blazor 框架提供的默认静态文件配置。 C#

using Microsoft.AspNetCore.StaticFiles;

...

var provider = new FileExtensionContentTypeProvider();
provider.Mappings["{EXTENSION}"] = "{CONTENT TYPE}";

app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = provider });
app.UseStaticFiles();

答案 3 :(得分:0)

由于blazor.server.js是静态文件,因此请确保在app.UseStaticFiles();中添加startup.cs