@loopback/docs
Version:
Documentation files rendered at [https://loopback.io](https://loopback.io)
202 lines (91 loc) • 3.24 kB
Markdown
---
lang: en
title: 'API docs: core.component'
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
sidebar: lb4_sidebar
editurl: https://github.com/loopbackio/loopback-next/tree/master/packages/core
permalink: /doc/en/lb4/apidocs.core.component.html
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@loopback/core](./core.md) > [Component](./core.component.md)
## Component interface
A component declares a set of artifacts so that they can be contributed to an application as a group
**Signature:**
```typescript
export interface Component
```
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td markdown="1">
[bindings?](./core.component.bindings.md)
</td><td markdown="1">
</td><td markdown="1">
[Binding](./context.binding.md)<!-- -->\[\]
</td><td markdown="1">
_(Optional)_ An array of bindings to be aded to the application context.
</td></tr>
<tr><td markdown="1">
[classes?](./core.component.classes.md)
</td><td markdown="1">
</td><td markdown="1">
[ClassMap](./core.classmap.md)
</td><td markdown="1">
_(Optional)_ A map of classes to be bound to the application context.
</td></tr>
<tr><td markdown="1">
[components?](./core.component.components.md)
</td><td markdown="1">
</td><td markdown="1">
[Constructor](./context.constructor.md)<!-- --><[Component](./core.component.md)<!-- -->>\[\]
</td><td markdown="1">
_(Optional)_ An array of component classes
</td></tr>
<tr><td markdown="1">
[controllers?](./core.component.controllers.md)
</td><td markdown="1">
</td><td markdown="1">
[ControllerClass](./core.controllerclass.md)<!-- -->\[\]
</td><td markdown="1">
_(Optional)_ An array of controller classes
</td></tr>
<tr><td markdown="1">
[lifeCycleObservers?](./core.component.lifecycleobservers.md)
</td><td markdown="1">
</td><td markdown="1">
[Constructor](./context.constructor.md)<!-- --><[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->>\[\]
</td><td markdown="1">
_(Optional)_
</td></tr>
<tr><td markdown="1">
[providers?](./core.component.providers.md)
</td><td markdown="1">
</td><td markdown="1">
[ProviderMap](./core.providermap.md)
</td><td markdown="1">
_(Optional)_ A map of providers to be bound to the application context
</td></tr>
<tr><td markdown="1">
[servers?](./core.component.servers.md)
</td><td markdown="1">
</td><td markdown="1">
{ \[name: string\]: [Constructor](./context.constructor.md)<!-- --><[Server](./core.server.md)<!-- -->>; }
</td><td markdown="1">
_(Optional)_ A map of name/class pairs for servers
</td></tr>
<tr><td markdown="1">
[services?](./core.component.services.md)
</td><td markdown="1">
</td><td markdown="1">
[ServiceOrProviderClass](./core.serviceorproviderclass.md)<!-- -->\[\]
</td><td markdown="1">
_(Optional)_ An array of service or provider classes
</td></tr>
</tbody></table>