Skip to main content

Blazor基础之静态文件

分类:  Blazor入门 标签:  #Asp.Net core基础 #.Net #Web #Web Client #Blazor 发布于: 2023-05-27 9:31:20

今天我们来讨论一下静态文件,这个主要是针对于Blazor Server部署模式的。

但是其实基于WebAssembly中也是可以使用不同的静态文件的,一般的静态文件时放置于wwwroot/中,在这个目录中我们可以防止js文件,CSS文件,以及图片等等。

如果需要在webassembly的项目中引用这些静态文件,只需要在引用中加入静态文件的路径,例如:

<imge src="/image/logo.png"/> 

需要注意的是在组件中不支持~/形式的路径。同时在路径中使用"/" 仅仅是代表相对于wwwroot。

为了添加格外的静态文件,我们需要使用FileExtensionContentTypeProvider或者配置StaticOptions

以下方案二选一:

方案一:

使用FileExtensionContentType进行映射。


方案二:

调用两次useStaticOptions.如下图:


同时需要注意的是在添加了静态文件之后,要避免和blazor.server.js相冲突,因此可以使用mapwhen, 如下:

 

app.MapWhen(ctx => !ctx.Request.Path

    .StartsWithSegments("_framework/blazor.server.js", 

        subApp => subApp.UseStaticFiles(new StaticFileOptions(){ ... })));