Я создал веб-компонент, используя пользовательские элементы с Angular 8. Часть компонента состоит в отображении некоторых пользовательских значков (разработанных и упакованных как другое приложение). Я включил пакет пользовательских значков в файл package.json
компонента:
"dependencies": {
"@somelibrary/icons": "1.0.34"
}
Я правильно установлен в модулях узла. В файле angular.json
я включаю файл css в стилях:
"styles": [
"src/styles.css",
"node_modules/@somelibrary/icons/css/fontface.css"
],
Где в файле fontface.css
указаны URL-адреса файлов пользовательских шрифтов с font-face:
@font-face {
font-family: "my-fonts";
src:url('../fonts/my-fonts.woff2') format('woff2'),
url('../fonts/my-fonts.woff') format('woff'),
url('../fonts/my-fonts.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
Затем я создаю пользовательский веб-компонент и объединяю все созданные js файлы в один для использования в качестве автономного компонента.
cat dist/lib/runtime.js dist/lib/polyfills.js dist/lib/scripts.js dist/lib/main.js > dist/myComponent.js
Проблема заключается в том, что при использовании окончательно созданного Файл javascript (включите его в простой индекс. html страница), файлы tff и woff не включены, поэтому я просто вижу заполнитель значка.
Я попытался включить файлы шрифтов во время встроенного файла myComponent.js
, но, как и ожидалось, я получаю синтаксическую ошибку.
cat dist/lib/runtime.js dist/lib/polyfills.js dist/lib/scripts.js dist/lib/main.js dist/lib/my-fonts.ttf> dist/myComponent.js
Я видел ответы типа this , но цель - это переносимый компонент, а также потому, что внешние шрифты. Я не могу переместить их в папку ресурсов, так как они могут меняться со временем.
Я также исследовал параметры из этого потока , я не могу экстернализовать ресурсы (так как они приходят из пакета ) и URL-адрес ader, используемый для файлов ttf и wof, не работает.
Кто-нибудь пробовал что-нибудь подобное? Как веб-компонент, состоящий из одного файла javascript, может содержать внешние шрифты, которые отображаются в автономном приложении.