首页 > 技术文章 > ASP.Net Core解读wwwroot

qtiger 2020-05-25 18:15 原文

一、环境

环境:ASP.NET Core3.1

ASP.NET Core是一个全新的Web开发平台,微软在它上面构建了MVC、SingalR、GRPC、Orleans这样广泛使用的Web框架,我们先以MVC框架为例介绍利用ASP.NET Core构建项目的常见名词。这篇文章介绍wwwroot

ASP.NET  Core MVC项目文件夹解读

二、Content root和Web root

 

1、Content root

Content root是应用程序集所在的文件夹。都有哪些文件呢?

  • 托管应用的可执行文件 (.exe)。
  • 构成应用程序的已编译程序集 (.dll)。
  • 应用使用的内容文件,例如:
    • Razor 文件(.cshtml、.razor)
    • 配置文件(.json、.xml)
    • 数据文件 (.db)
  • Web 根目录,通常是 wwwroot 文件夹。

2、Web root

Web 根目录是公用静态资源文件的基路径,例如:

  • 样式表 (.css)
  • JavaScript (.js)
  • 图像(.png、.jpg)

默认情况下,静态文件仅从 Web 根目录及其子目录提供。 Web 根目录路径默认为 {content root}/wwwroot 在构建主机时设置路径,可指定不同的 Web 根目录。

三、wwwroot

wwwroot是一个存放静态内容的文件夹,存放了诸如css,js,img等文件。静态文件是ASP.NET Core应用直接提供给客户端的资产,需要进行一些配置才能启用这些文件的服务。静态文件存储在项目的Web根目录中。默认目录为{content root} / wwwroot,但是可以通过UseWebRoot方法进行更改。 

1、在Web根目录内提供文件  

  • 上面添加了UseStaticFiles中间件,所以Web根目录中的文件就被标记为可服务了,我们就可以使用静态文件了,比如下面:其中波浪号字符~/指向web root

 

2、在Web根目录之外提供文件

  • 通过配置静态文件中间件来访问自定义的静态资源文件

  

  • 使用示例: 

  • 效果如下:

 

推荐阅读