.net ASP Net Core 7.0 SPA配置-不加载子URL路径上的静态文件

owfi6suc  于 2023-02-14  发布在  .NET
关注(0)|答案(1)|浏览(149)

我正在尝试配置Asp Net Core 7.0以托管Vanilla JS SPA APP。它似乎在导航到单个路径时工作,但在子路径上工作不加载包含Views和JS SPA APP客户端路由的main.js的静态文件夹,只加载index.html,不加载main.js视图,因此应用程序无法路由到主页*视图**,因为main.js文件和**“Home.js”视图丢失,实际上未加载包含静态文件**的整个文件夹。
我认为这与Program.cs文件和配置有关。
因此,我尝试做的是加载主视图时,有错误的路径。

例如,在http://localhost:5109/Login这样的单一路径上运行

第一节第二节第一节第三节第一节

程序.cs

using Microsoft.Extensions.FileProviders;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();


 
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    app.UseHsts();  
}
else
{
    app.UseDeveloperExceptionPage();
}

 
app.UseHttpsRedirection();

// SPA
app.UseDefaultFiles();  
app.UseStaticFiles();  

 
app.UseRouting();

app.MapFallbackToFile("index.html");  
app.Run();

先谢了。

zhte4eai

zhte4eai1#

问题是在static之前缺少"/"

    • 之前:**
<script type="module" src="static/js/main.js"></script>
    • 现在**
<script type="module" src="/static/js/main.js"></script>
    • 整个索引. html:**
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>

    <div>
        <a href="/Register" class="barItem" data-link>Register</a>
        <a href="/Login" class="barItem" data-link>Log In</a>
        <a href="/" class="barItem" data-link>Home</a>
    </div>

    <!----Center - app - Content ------------------------>
    <div id="app"></div>
    <script type="module" src="/static/js/main.js"></script>
</body> 

</html>
    • 它现在对子路径有效。**

相关问题