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

问题描述 投票:0回答:2

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

javascript asp.net-core areas
2个回答
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”。


0
投票

基于服务器的解决方案的使用无法在独立的 JavaScript 文件中运行。我使用以下内容:

function getBaseURL() {
    var re = new RegExp(/^.*\//);
    return re.exec(window.location.href);
}

这似乎在本地和部署时都有效。

© www.soinside.com 2019 - 2024. All rights reserved.