我正在创建一个 ASP.NET Core 应用程序,其中包含多个区域。 我应该在哪里添加特定于某个区域的 JavaScript 文件(通常我将它们放入 wwwroot\js 文件夹中。某个区域有类似的东西吗?)?
“我应该在哪里添加 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”。
基于服务器的解决方案的使用无法在独立的 JavaScript 文件中运行。我使用以下内容:
function getBaseURL() {
var re = new RegExp(/^.*\//);
return re.exec(window.location.href);
}
这似乎在本地和部署时都有效。