- Crear workspace
ng new <workspace-name> --create-application=false
- Generar librería
ng g library <library-name>
- Crea la librería dentro de la carpeta
projects
- Crea la librería dentro de la carpeta
- Generar app para testear la librería
ng g application <app-name>
- Crea una app angular dentro de la carpeta
projects
- Crea una app angular dentro de la carpeta
- Para usar la librería hay que correr:
ng build my-lib
- Hace el build de la librería en la carpeta dist
- Ir a
projects/<app-name>/src/app/app.module.ts
e importar la librería:import { MyLibModule } from 'my-lib';
- Agregar MyLibModule a los imports de la clase AppModule
- Ahora puedes usar el componente de my-lib en cualquier parte de tu app con
<lib-my-lib></lib-my-lib>
- Cada vez que se haga un cambio en la librería, correr
ng build my-lib
o correr una vezng build my-lib --watch
ng g component <component-name> --project=my-lib
- Para crearlo dentro de una carpeta
ng g component <folder-name/component-name> --project=my-lib
- Para crearlo dentro de una carpeta
- Exportarlo desde archivo
public-api.ts
- Agregar el component a los exports del NgModule de la librería (en el ejemplo
my-lib.module.ts
)
cd dist/my-lib
npm pack
-> creates tgz file- Si tienes ese tgz localmente, puedes correr
npm install <path_to_tgz_file>
- Actualizar package.json con detalles adicionales (autor, github, etc)
- Crear cuenta en npm si no tienes: link
- Login a la cuenta con
npm login
- Hacer build final:
ng build my/lib --prod
cd dist/my-lib
npm publish --access public
https://www.npmjs.com/package/@mesantamaria/my-lib
This project was generated with Angular CLI version 10.0.5.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.