Je crée une bibliothèque qui contient une police d'icône personnalisée. Cependant, lorsque je crée ma bibliothèque à l'aide de ng build <library-name> --prod
, Le dossier des ressources n'est pas inclus dans la génération, ce qui signifie que les icônes n'apparaissent pas lors de l'utilisation de la génération de production.
J'ai essayé plusieurs solutions comme l'ajout du tableau assets
dans angular.json
Et la copie du dossier d'actifs dans le dossier dist créé.
J'utilise Angular 8, et la bibliothèque a été créée en utilisant angular-cli.
J'ai essayé d'inclure les polices de deux manières: en utilisant @import url( '../assets/icon_font.css' );
dans l'un des fichiers de style et en ajoutant ../assets/icon_font.css
À styleUrls dans l'un des composants qui le nécessitent. (icon_font.css
Est le fichier css qui inclut les polices d'icônes)
Voici la disposition de mon répertoire de bibliothèque:
- src
- lib
- assets
- icon_font.css
- font files
- component that requires icons
- style sheet that has @import icon_font.css
- other components and classes
Je souhaite que le fichier .ttf et les autres fichiers de police du répertoire assets/
Soient disponibles dans le dossier dist
exporté.
Comme vous l'avez dit dans votre réponse, il n'était pas possible de forcer le packager à compresser les actifs avec les fichiers de build.
Maintenant, ng-packagr a publié une nouvelle version qui vous permet d'inclure les actifs avec les fichiers de build:
Vous pouvez copier ces actifs en utilisant l'option d'actifs.
{
"ngPackage": {
"assets": [
"CHANGELOG.md",
"./styles/**/*.theme.scss"
],
"lib": {
...
}
}
}
Plus d'informations ici: https://github.com/ng-packagr/ng-packagr/blob/master/docs/copy-assets.md