【发布时间】:2015-02-23 05:30:37
【问题描述】:
我在 Visual Studio 2015 中创建了新的 asp.net mvc 项目。该项目有一个 wwwroot 文件。这是什么?
【问题讨论】:
标签: c# asp.net visual-studio asp.net-core
我在 Visual Studio 2015 中创建了新的 asp.net mvc 项目。该项目有一个 wwwroot 文件。这是什么?
【问题讨论】:
标签: c# asp.net visual-studio asp.net-core
引用官网:
wwwroot 文件夹是 ASP.NET 5.0 中的新文件夹。中的所有静态文件 你的项目进入这个文件夹。这些是应用程序将 直接服务于客户端,包括 HTML 文件、CSS 文件、图像 文件和 JavaScript 文件。 wwwroot 文件夹是您的根目录 网站。即http://some.hostname/指向wwwroot,所有的URL为 静态内容是相对于 wwwroot 文件夹的。
代码文件应该放在 wwwroot 之外。这包括所有 C# 文件和 Razor 文件。 > 拥有 wwwroot 文件夹可以清晰地分隔代码文件和静态文件。
值得一提的是,wwwroot 这个术语本身当然并不新鲜,它实际上是跨许多平台(包括 J2EE 应用程序和 IIS 本身及其 c:\inetpub\wwwroot 目录)使用的约定。
Unix/Linux 世界中的类似约定是 htdocs、public_html 和 www。
【讨论】:
TypeScript 文件和html templates。您认为这个案子应该如何处理?
.ts文件需要客户端可用(通常用于客户端编译),那么肯定在wwwroot下(可能是wwwroot/scripts)。如果它们是预编译的,则它们不应位于 wwwroot 之下。
wwwroot 文件夹是 ASP.NET 5 中的新文件夹,用于存储项目中的所有静态文件。发送到用户浏览器的任何文件,包括 HTML 文件、CSS 文件、图像文件和 JavaScript 文件都应存储在此文件夹中。
代码文件应放在wwwroot 之外,包括 C# 文件和 Razor 视图。拥有一个wwwroot 文件夹可以保持代码文件和静态文件之间的清晰分离。它使将要发送到服务器的项目以及应该保留在开发机器上的项目变得清晰。如果你看截图,wwwroot 文件夹有 css 和 lib 子文件夹。 Css 文件夹是保存自定义 css 文件的地方,而 lib 文件夹由 Bower 包管理器使用。 lib 文件夹包含 Bower 下载的包,可以包含 css、js 和图像。
截图显示 lib 文件夹有一个引导包文件夹。如果你展开它,你会发现 css、js 以及所有其他与 bootstrap 包相关的资产。
在 MVC4 中,我们使用 content 文件夹来保存样式表以及用于引用脚本的 scripts 文件夹。这些文件夹现在已经消失了,因此了解样式表或脚本没有单独的文件夹很重要。它们可以位于wwwroot 内的任何文件夹中。
有趣的是,如果您希望在 razor 视图中引用 css、js 或 img 文件,使用 ~ 关键字可确保指向 wwwroot 文件夹的直接路径。因此,假设您想在视图中引用 site.css,您可以使用 <link rel="stylesheet" href="~/css/site.css" /> 语法访问它。
可以看到~关键字指向wwwroot文件夹。
【讨论】: