Angular не удается получить файл CSS при навигации по вложенному маршруту - PullRequest
1 голос
/ 27 февраля 2020

При непосредственном переходе к дочернему компоненту в режиме prod (ng serve --prod) он не может загрузить файл CSS, пытаясь извлечь его из вложенного пути. Например, перейдя к «localhost: 4200 / doc /», URL-адрес запроса CSS:

localhost: 4200 / doc / styles.6eab038f040a1c7c7ed6. css.

Дается ошибка:

Отказался от применения стиля из 'http://localhost: 4200 / doc / styles.6eab038f040a1c7c7ed6. css', потому что его тип MIME ('text / html') не является поддерживаемым типом MIME таблицы стилей, и включена строгая проверка MIME.

При доступе к root (localhost: 4200) загружается CSS правильно. Если затем перейти к дочернему компоненту через само приложение, проблема не возникнет.

Это происходит только в режиме prod, а не на сервере разработки. Ничего не изменилось на обычные настройки стилей. css, он находится в папке по умолчанию.

          "styles": [
          "src/styles.css"
        ],

Кто-нибудь знает, как эта проблема может быть вызвана?

Изменить

Обнаружено, что проблема заключается в переходе к вложенным маршрутам (помогает ответ mikegross ).

На маршруте без вложенного параметра проблема не возникает, но на маршруте с вложенным параметром (например, 'doc /: id') это происходит.

Модуль маршрутизатора:

const routes: Routes = [
  { path: '', redirectTo: 'list', pathMatch: "full"},
  { path: 'list', component: ListComponent},
  { path: 'doc/:id', component: DocumentComponent},
  { path: '**', redirectTo: ''},
];

@NgModule({ 
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

Обновление (28 февраля)

Поскольку это был еще небольшой проект, я создал новый angular Проект, установил те же зависимости и буквально скопировал вставленный код.

Хотя я понятия не имею, почему, в новом проекте проблема не возникает. Единственное отличие заключается в незначительном повышении версии (от 9,0 до 9,1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...