カスタムアイコンフォントを含むライブラリを構築しています。ただし、_ng build <library-name> --prod
_を使用してライブラリをビルドすると、assetsフォルダーがビルドに含まれません。つまり、本番ビルドを使用してもアイコンが表示されません。
assets
配列を_angular.json
_に追加し、assetsフォルダーを作成したdistフォルダーにコピーするなど、複数の解決策を試しました。
Angular 8を使用しており、ライブラリはangular-cliを使用して作成されました。
フォントを2つの方法で含めてみました。スタイルファイルの1つで@import url( '../assets/icon_font.css' );
を使用し、それを必要とするコンポーネントの1つでstyleUrlsに_../assets/icon_font.css
_を追加しました。 (_icon_font.css
_はアイコンフォントを含むcssファイルです)
これが私のライブラリディレクトリのレイアウトです。
_- src
- lib
- assets
- icon_font.css
- font files
- component that requires icons
- style sheet that has @import icon_font.css
- other components and classes
_
_assets/
_ディレクトリ内の.ttfおよびその他のフォントファイルを、エクスポートされたdist
フォルダーで使用できるようにしたいと考えています。
あなたの答えで言ったように、パッケージャーにビルドファイルと一緒にアセットをパックさせることはできませんでした。
ng-packagr は、ビルドファイルと共にアセットを含めることができる新しいバージョンをリリースしました:
assetオプションを使用して、これらのアセットをコピーできます。
{
"ngPackage": {
"assets": [
"CHANGELOG.md",
"./styles/**/*.theme.scss"
],
"lib": {
...
}
}
}
詳細はこちら: https://github.com/ng-packagr/ng-packagr/blob/master/docs/copy-assets.md