当在ASP.NET核心中使用角5时,一个新的Visual项目包含一个wwwroot文件夹和一个资产文件夹:

问题是:应该在哪个文件夹中静态内容(图像、css等)被放置,你什么时候会使用其中一个和另一个?
根据答案 online的说法,www.root文件夹是静态内容应该放在的位置:
Www.root文件夹在ASP.NET 5.0中是新的。项目中的所有静态文件都进入此文件夹。这些是应用程序将直接提供给客户端的资产,包括HTML、CSS文件、图像文件和JavaScript文件。
但是,根据角文献,静态内容也可以进入资产文件夹:
在构建项目时,您可以使用.角-cli.json中的资产数组列出要复制的文件或文件夹。
发布于 2017-12-22 06:40:00
所有在角中使用和引用的静态资料都应该转到资产上。在MVC视图中使用的所有静态内容,在ASP.NET核心中都应该直接转到www.root。
在构建/部署/发布期间,构建的角度应用程序将自动复制到www.root,因为这是ASP.NET核心应用程序静态内容的根文件夹。(因此角伪影成为ASP.NET核心视图中的静态内容。但您不需要手动完成此操作。)
发布于 2021-12-16 23:56:40
只是一些关于这个的额外信息。今天,我在公司即将重新设计的应用程序上遇到了类似的情况,我在www.root和assets文件夹中都找到了静态文件。
基于问题中的屏幕截图,该项目是用Visual:https://learn.microsoft.com/en-us/aspnet/core/client-side/spa/angular?view=aspnetcore-3.1&tabs=visual-studio附带的NetCore角模板创建的(与我今天查看的项目使用的模板相同)。默认情况下,您将得到一个类似于此的文件夹结构(附带新项目的屏幕截图):

当favicon.ico位于www.root文件夹中时,您可以继续在www.root文件夹中添加图像和其他静态文件,应用程序将运行良好。该模板被配置为在生产中使用文件夹"ClientApp/dist“(图像附加于使用.NET Core3.1的角模板创建的一个新项目),假设您将作为一个服务提供所有服务。

因此,这两种方法都可以工作,但资产文件夹似乎是一个更好的地方。作为一名开发人员,这正是我希望为这个棱角应用程序找到静态文件的地方。
我认为将静态文件保存在角项目(文件夹ClientApp/src/ assets )中的实际好处是,如果您决定单独部署和服务客户端应用程序,您只需抓取包含资产文件夹的角构建,然后将它们移动到服务器,而不需要额外的工作。
https://stackoverflow.com/questions/47935220
复制相似问题