Skip to main content

使用组件

组件是 Midway 的扩展机制,我们会将复用的业务代码,或者逻辑,抽象的公共的能力开发成组件,使得这些代码能够在所有的 Midway 场景下复用。

使用组件#

组件一般以 npm 包形式进行复用。每个组件都是一个可以被直接 require  的代码包。我们以 @midawyjs/orm  组件为例。

首先,在应用中加入依赖。

// package.json{  "dependencies": {    "@midwayjs/orm": "^1.0.0"  }}

我们需要在代码中启用这个组件,Midway 的组件加载能力设计在 src/configuration.ts  文件中。

// 应用或者函数的 src/configuration.tsimport { Configuration } from '@midwayjs/decorator';import * as orm from '@midwayjs/orm';
@Configuration({  imports: [orm],})export class ContainerLifeCycle {}

不同环境启用组件#

有时候,我们需要在特殊环境下才使用组件,比如本地开发时。 imports  属性可以传入对象数组,我们可以在对象中针对组件启用的环境进行配置。

// 应用或者函数的 src/configuration.tsimport { Configuration } from '@midwayjs/decorator';import * as orm from '@midwayjs/orm';
@Configuration({  imports: [    {      component: orm,      enabledEnvironment: ['local'],    },  ],})export class ContainerLifeCycle {}
  • component  用于指定组件对象,组件对象必须包含一个 Configuration  导出的属性
  • enabledEnvironment  组件启用的环境数组

开发组件#

参见文档:组件开发