Почему index.html возвращается Asp net Core для запросов моих файлов dist Angular Spa? - PullRequest
0 голосов
/ 11 июня 2019

После развертывания моего Asp Net Core Angular Spa на общем веб-сервере запросы на компоненты углового времени выполнения возвращают мой файл index.html.

РЕДАКТИРОВАТЬ (перефразируя вопрос для ясности):

У меня есть угловой спа, который обслуживается шаблоном с сердечником из осины.Когда я перехожу к URL-адресу приложения, возвращается страница индекса, а затем последующие вызовы для возврата файлов сценариев для клиентского приложения также возвращают index.html ... даже если URL-адрес запрашивает runtime.js, main.js и т. д.

Какая дополнительная конфигурация требуется в дополнение к приведенным ниже выдержкам из кода?

public void ConfigureServices(IServiceCollection services)
{
    services.AddSpaStaticFiles(configuration =>
    {
        configuration.RootPath = "ClientApp/dist";
    });
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseStaticFiles();
    app.UseSpaStaticFiles();
    app.UseMvc();

    app.UseSpa(spa =>
    {
        spa.Options.SourcePath = "ClientApp";
    }); 
}

В моем angular.json я указываю следующие префиксы URL:

"baseHref": "/APPNAME/",
"deployUrl": "/APPNAME/ClientApp/dist/"

Дерево исходного кода выглядит правильно.

Запросы для каждого из компонентов среды выполнения выполнены успешно, но все они возвращают мой index.html, а не тот, который был запрошен.

URL запроса:https://example.com/MYAPP/ClientApp/dist/main.17cf96a7a0252eeecd9e.js

Ответ от сетевого отладчика Chrome:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>APP NAME</title>

  <base href="/APPNAME/">

  <meta content="width=device-width, initial-scale=1"
        name="viewport">
  <link href="HRDRicon.png"
        rel="icon"
        type="image/x-icon">
<link rel="stylesheet" href="/APPNAME/ClientApp/dist/styles.d9e374eff45177231bee.css"></head>
<body class="fixed-sn white-skin">

<app-root></app-root>

<noscript>
  <p>
    Sorry, JavaScript must be enabled to use this app
  </p>
</noscript>

<script type="text/javascript" src="/APPNAME/ClientApp/dist/runtime.e460f84ccfdac0ca4695.js">
</script><script type="text/javascript" src="/APPNAME/ClientApp/dist/polyfills.d0cb8e9b276e2da96ffb.js"></script>
<script type="text/javascript" src="/APPNAME/ClientApp/dist/scripts.a54ea6f0498a1f421af9.js"></script>
<script type="text/javascript" src="/APPNAME/ClientApp/dist/main.17cf96a7a0252eeecd9e.js"></script>
</body>
</html>

Я добавлю ссылку на изображения в комментарии, поскольку она ограничена в исходном сообщении.

...