Inkluder eiendeler når du bygger vinkelbibliotek
Include Assets When Building Angular Library
Løsning:
Som allerede sagt, støtter kantet bibliotek nå eiendeler siden v9.x av kantete.
Men det er ikke godt forklart på nettstedet deres. For å få det til å fungere må du:
- Legg til en ressursmappe ved roten til bibliotekprosjektet
- Legge til
'eiendeler': ['./assets'], inn i
ng-package.json-filen til biblioteket
{'$ schema': '../../node_modules/ng-packagr/ng-package.schema.json', 'dest': '../../dist/icon', 'assets': [' ./assets '], //<-- Add it here 'lib': { 'entryFile': 'src/public-api.ts' } } ng bygge tilpasset prosjekt --prod. Den vises deretter i dist -mappen din

Da kan du bare legge til det du vil ha i denne mappen
Ytterligere tips: Bruk den i prosjektet ditt
Så hvis du ønsker å bruke det i prosjektet det blir importert til, gjør du:
Eiendeler, js, stiler i angular.json
Legg til disse filene i dinangular.json -fil
{/*...*/ 'assets': [// Importer alle eiendeler {'glob': '**/*', 'input': './node_modules/custom-project/assets', 'output': '/assets/'}], 'styles': [// Only custom css 'node_modules/custom-project/assets/my-css-file.css'], 'scripts': ['node_modules/custom-project/assets /my-js-file.js ']}Js som en del av app.modulen
Du kan direkte også legge til js i barnefil selv om jeg ikke er sikker på om det virkelig lat laster disse filene .
eksempel, inn i dinhome.module.ts fil, importer
importer 'custom-project/assets/my-js-file.js'
Som du sa i svaret ditt, var det ikke mulig å tvinge pakkeren til å pakke eiendeler sammen med bygningsfilene.
Nå ga ng-packagr ut en ny versjon som lar deg inkludere eiendelene sammen med byggfilene:
Du kan kopiere disse eiendelene ved å bruke alternativet eiendeler.
{'ngPackage': {'assets': ['CHANGELOG.md', './styles/**/*.theme.scss'], 'lib': {...}}}Mer informasjon her: https://github.com/ng-packagr/ng-packagr/blob/master/docs/copy-assets.md
Når man ser på andre innlegg og problemer på github, ser det ut til at det ikke er noen måte å tvinge pakkeren til å pakke eiendeler sammen med byggfilene. Det jeg endte med å gjøre i stedet er å kopiereeiendeler -mappen tildist -mappen manuelt før du distribuerer den til npm. Etter det måtte jeg bare be brukerne om å gjøre det manuelt@importericon_font.css i et av stilarkene deres.