找回密码
 会员注册
查看: 153|回复: 0

ASP.NET Core 中的 wwwroot 文件夹

[复制链接]

1389

主题

5

回帖

496万

积分

管理员

积分
4962988
发表于 2024-2-29 08:51:18 | 显示全部楼层 |阅读模式

在本文中,我将讨论ASP.NET Core应用程序中的 wwwroot 文件夹。请阅读我们之前讨论过ASP.NET Core 请求处理管道的文章。在本文的最后,您将了解 wwwroot 文件夹及其需求以及如何在 ASP.NET Core 应用程序中进行配置。

ASP.NET Core 中的 wwwroot 文件夹是什么?

默认情况下,ASP.NET Core 应用程序中的 wwwroot 文件夹被视为 webroot 文件夹,并且此文件夹或目录应该存在于根项目文件夹中。在 ASP.NET Core 应用程序中,静态文件可以存储在 webroot 文件夹下的任何文件夹中,并且可以使用该根目录的相对路径进行访问。

在 ASP.NET Core 应用程序中添加 wwwroot (webroot) 文件夹:

当您使用 Web 和 MVC 模板创建 ASP.NET Core Web 应用程序时,默认情况下会在根项目文件夹中创建此文件夹 (wwwroot)。但是,如果您使用 Empty 模板创建新的 .NET Core 应用程序,则默认情况下,Visual Studio 不会创建此文件夹。

当我们从头开始讨论所有内容时,让我们使用 Empty Project 模板创建一个 ASP.NET Core 应用程序,然后了解如何在其中添加 wwwroot 文件夹。

创建 ASP.NET Core 应用程序:

首先,使用空项目模板创建一个名为“FirstCoreWebApplication”的新 ASP.NET Core 应用程序。应使用以下结构创建项目。

如上图所示,我们的应用程序中没有名为 wwwroot 的文件夹。

在 ASP.NET Core 中添加 wwwroot (webroot) 文件夹:

为了添加 wwwroot 文件夹,右键单击项目,然后选择 add => new folder 选项,然后将文件夹名称提供为 wwwroot。创建文件夹后,请查看文件夹符号,如下所示。

 

wwwroot (webroot) 文件夹将包含在 ASP.NET Core 中的内容:

在早期的 ASP.NET 应用程序中,可以从项目根文件夹或其下的任何其他文件夹中提供静态文件。但是这在 ASP.NET Core 中已经改变了。现在,只有那些存在于 webroot 中的文件 - wwwroot 文件夹或其下的任何子文件夹可以通过 HTTP 请求提供服务。默认情况下,所有其他文件都被阻止并且无法提供。但是,如果您愿意,您也可以更改此默认行为。

通常,wwwroot 文件夹内应该有不同类型的静态文件(如 JavaScript、CSS、图像、库脚本等)的单独文件夹,如下所示:

现在,您可以使用基本 URL 和文件名访问静态文件,例如 CSS、js、lib。例如,可以通过https://localhost:/js/site.js访问 js 文件夹中的上述 site.js 文件

注意:为了提供静态文件,您需要在 Startup.cs 文件的 'Configure()' 方法中包含app.UseStaticFiles() 中间件组件。如果目前还不清楚,请不要担心,我们将在下一篇文章中通过示例讨论有关静态文件中间件的所有内容。

我们可以重命名 wwwroot 文件夹吗?

是的。您可以根据自己的选择将 wwwroot 文件夹重命名为任何其他名称,并将其设置为 webroot,同时在 Program.cs 文件中准备托管环境。

例如,让我们将 wwwroot 文件夹重命名为“MyWebRoot”文件夹。将 wwwroot 文件夹重命名为 MyWebRoot 后,需要在 Program 类的 Main() 方法中调用 UseWebRoot() 方法将 MyWebRoot 文件夹配置为 webroot 文件夹,如下所示。

  1. public class Program
  2. {
  3. public static void Main(string[] args)
  4. {
  5. CreateHostBuilder(args).Build().Run();
  6. }
  7. public static IHostBuilder CreateHostBuilder(string[] args) =>
  8. Host.CreateDefaultBuilder(args)
  9. .ConfigureWebHostDefaults(webBuilder =>
  10. {
  11. webBuilder.UseStartup<Startup>().UseWebRoot("MyWebRoot");
  12. });
  13. }
复制代码

完成上述更改后,现在 MyWebRoot 文件夹将充当您的应用程序的 Webroot 文件夹,并且可以为 HTTP 请求的静态文件提供服务。

在下一篇文章中,我将讨论如何使用静态文件中间件 组件在 ASP.NET Core 中处理静态文件。在这里,在本文中,我尝试解释ASP.NET Core应用程序中的 wwwroot 文件夹。希望本文能帮助您了解 ASP.NET Core 应用程序中的 wwwroot 文件夹。 


来源:https://blog.csdn.net/allway2/article/details/123232131
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-25 13:04 , Processed in 0.781701 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表