-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Elaborated the Component class
- Loading branch information
Hage Yaapa
committed
Apr 11, 2019
1 parent
35f719c
commit 6789fae
Showing
3 changed files
with
58 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
--- | ||
lang: en | ||
title: 'Components' | ||
keywords: LoopBack 4.0, LoopBack 4 | ||
sidebar: lb4_sidebar | ||
permalink: /doc/en/lb4/Components.html | ||
--- | ||
|
||
## Overview | ||
|
||
Components play an important part in the extensibility of LoopBack 4. A | ||
Component makes it easy for independent developers to contribute additional | ||
features to LoopBack. Components serve as a vehicle to group extension | ||
contributions such as [Context Bindings](Context.md) and various artifacts to | ||
allow easier extensibility of your Application. | ||
|
||
A typical LoopBack component is an [npm](https://www.npmjs.com) package | ||
exporting a Component class which can be added to your application. | ||
|
||
Apart from its own properties, `Component` class can have the following | ||
properties: | ||
|
||
- `controllers` - An array of [controller](Controllers.md) classes. | ||
- `providers` - A map of providers to be bound to the application | ||
[context](Context.md). | ||
- `classes` - A map of TypeScipt classes to be bound to the application context. | ||
- `servers` - A map of name/class pairs for [servers](Server.md). | ||
- `lifeCycleObservers` - An array of [life cycle observers](Life-cycle.md). | ||
- `bindings` - An array of [bindings](Bindings.md) to be aded to the application | ||
context. | ||
|
||
These properties contribute to the application to add additional features and | ||
capabilities. | ||
|
||
LoopBack 4 was built with extensibility in mind and this includes Components, | ||
which can be allowed to contribute additional artifacts by adding a Mixin to | ||
your Application class. This doesn't change how a Component is registered | ||
(`app.component()`) but it enables the Component to contribute additional | ||
artifacts. For example: | ||
|
||
- [Repositories](Repositories.md) can be contributed by a Component by adding | ||
`RepositoryMixin` from `@loopback/repository` to your Application | ||
- [Booters](Booting-an-Application.md#booters) can be contributed by a Component | ||
by adding `BootMixin` from `@loopback/boot` to your Application | ||
|
||
**Note:** Always check a component's instructions to see if it requires the use | ||
of a Mixin. A Mixin may automatically register a Component, saving you the | ||
trouble of having to do so manually. Again it's best to check the documentation | ||
for the given Component / Mixin. | ||
|
||
See [Using components](Using-components.md) and | ||
[Creating components](Creating-components.md) for more information. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters