Spa找不到bundle.js

时间:2019-05-23 05:47:57

标签: reactjs asp.net-core

我正在尝试提供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

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试将脚本路径更改为:

<script src="/site.js"></script>