При непосредственном переходе к дочернему компоненту в режиме 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).