我正在尝试提供SPA。我打算发送一个index.html,并在客户端中呈现该网站。
问题是,当我从不是根路径的路径加载网站时,它不再找到site.js静态文件。
这是我的Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "wwwroot";
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseMvc();
app.UseStaticFiles();
app.UseSpaStaticFiles();
app.UseSpa(spa=>{
spa.Options.SourcePath = "wwwroot";
});
}
这是我的index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>Title</title>
</head>
<body>
<div id="root"></div>
<script src="site.js"></script>
</body>
</html>
我的wwwroot文件夹有2个文件index.html和site.js
每当我加载https:localhost:5001 /时,该站点都可以正常工作,但是如果我向该站点添加路由,它将不再找到site.js
答案 0 :(得分:1)
尝试将脚本路径更改为:
<script src="/site.js"></script>