Angular состояние активов c файлы не найдены - PullRequest
0 голосов
/ 03 августа 2020

Проблема: Устранение шрифтов, находящихся в папке с ресурсами, приводит к ошибке 404 Not Found. http://server.com/assets/fonts/Bold/RobotoCondensed-Bold.woff2

Это работает, хотя при локальной разработке: http://localhost/assets/fonts/Bold/RobotoCondensed-Bold.woff2

Подробности: у меня есть несколько шрифтов, которые находятся в папке с ресурсами. Они правильно скопированы в docker путь к изображению: /usr/share/nginx/html/assets/fonts/Bold/RobotoCondensed-Bold.woff2

Если я запрошу http://server.com/service/assets/fonts/Bold/RobotoCondensed-Bold.woff2, мой шрифт будет извлечен. Префикс /service - это пример имени обслуживаемой службы.

Базовый href изменяется на локальном устройстве с <base href="/"> на <base href="/service/"> на server.com

Как мне решить эту проблему. Я мог бы попробовать изменить URL-адрес с /assets/fonts/Light/RobotoCondensed-Light.woff на service/assets/fonts/Light/RobotoCondensed-Light.woff, но во время локальной разработки этого префикса не существует, поэтому мои шрифты перестанут работать в локальной среде.

Также я хочу упомянуть, что мой favicon.ico правильно обслужили. На передней панели локальной среды он запрашивает без префикса, а на сервере он запрашивает значок с префиксом / услугой. Favicon упоминается только внутри index.html:

<link rel="icon" type="image/x-icon" href="favicon.ico" />

_fonts.s css file:

@font-face {
    font-family: 'Roboto Condensed';
    src: url('/assets/fonts/Light/RobotoCondensed-Light.woff2') format('woff2'),
        url('/assets/fonts/Light/RobotoCondensed-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

angular. json file:

"assets": [
    "projects/service/src/favicon.ico",
    "projects/service/src/assets"
],
"styles": [
    "projects/service/src/assets/scss/modules/_fonts.scss"
],

Я новичок в angular и интерфейсе и не могу решить эту проблему. Любая помощь очень ценится.

1 Ответ

0 голосов
/ 05 августа 2020

Мне нужно было использовать относительный путь в моих URL-адресах, например

./assets/fonts/Light/RobotoCondensed-Light.woff
...