I am trying to import a locally developed Angular project/module into an angular application without publishing it into npm repository.
First, I followed this tutorial t
I found this article that helped me to solve my problem:
https://medium.com/@nikolasleblanc/building-an-angular-4-component-library-with-the-angular-cli-and-ng-packagr-53b2ade0701e
To give a brief summary, this is how I proceeded:
npm install -g ng-packagr
npm install ng-packagr --save-dev
ng-package.json
in the root folder of the project, and add the following:
{
"$schema": "./node_modules/ng-packagr/ng-package.schema.json",
"lib": {
"entryFile": "public_api.ts"
"externals": {
"@angular/cdk": "ng.cdk",
"@angular/cdk/accordion": "ng.cdk.accordion",
//...
}
}
}
In my case I had to add external dependencies in order to avoid packaging/build errors:
create public_api.ts
in the root folder of the project, and add the following:
export * from './src/app/modules/myFeature/my-feature.module'
Edit package.json
, and add the packagr
line to the scripts
tag:
"scripts": {
//...
"packagr": "ng-packagr -p ng-package.json"
}
Create the package by running the following command from the root folder:
npm run packagr
Install it for local development:
dist
folder:npm pack
npm install ../some-relative-path/dist/my-component-library-0.0.0.tgz
Then I could import my module from any other module or component of my final project