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:

  1. Legg til en ressursmappe ved roten til bibliotekprosjektet
    skriv inn bildebeskrivelse her
  2. Legge til'eiendeler': ['./assets'], inn ing-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' } }  
  1. ng bygge tilpasset prosjekt --prod. Den vises deretter i dist -mappen din
    skriv inn bildebeskrivelse her

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.