ASP.NET Core区域中JavaScript文件的位置

4

我正在创建一个包含多个区域的ASP.NET Core应用程序。 如果我想添加特定于某个区域的JavaScript文件,我该将它们放在哪里(通常我会将它们放在wwwroot \ js文件夹中。是否有类似于此的区域?)


1
我在这篇文章中找到了完整的答案:ASP.Net MVC Core: Javascript files in Areas along with Views (.cschtml) - Sayed Abolfazl Fatemi
1个回答

4

"我应该在哪里添加JavaScript文件?"答案是,您可以根据您的要求和方便选择位置。默认位置是内容根即wwwroot文件夹及其子文件夹,但是ASP.Net Core不会阻止您将这些静态文件放置在"wwwroot"文件夹之外。但是,如果您想将其放置在默认内容文件夹即wwwroot之外,则需要告诉asp.net core您的内容文件位于何处。告诉asp.net core的方法如下所示:配置StaticFiles中间件:

app.UseStaticFiles(new StaticFileOptions()
{
    FileProvider = new PhysicalFileProvider(
        Path.Combine(Directory.GetCurrentDirectory(), @"MyStaticFiles")),
    RequestPath = new PathString("/StaticFiles")
});

这里的MyStaticFiles文件夹位于wwwroot之外,仅在您的项目目录中。

现在,如果您想访问MyStaticFiles文件夹中的任何文件,则将使用以下路径。

http://<myapp>/StaticFiles/myscript.js

请注意上面路径中的“StaticFiles”和中间件配置中的“StaticFiles”。

1
这不是一个安全风险吗?这会允许访问非静态文件,比如读取.cshtml文件和.cs文件吗? - Wayne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接