Skip to main content
Version: 2.0.0

使用组件

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

使用组件

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

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

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

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

// 应用或者函数的 src/configuration.ts
import { Configuration } from '@midwayjs/decorator';
import * as orm from '@midwayjs/orm';

@Configuration({
imports: [orm],
})
export class ContainerLifeCycle {}

不同环境启用组件

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

// 应用或者函数的 src/configuration.ts
import { Configuration } from '@midwayjs/decorator';
import * as orm from '@midwayjs/orm';

@Configuration({
imports: [
{
component: orm,
enabledEnvironment: ['local'],
},
],
})
export class ContainerLifeCycle {}
  • component  用于指定组件对象,组件对象必须包含一个 Configuration  导出的属性
  • enabledEnvironment  组件启用的环境数组

开发组件

参见文档:组件开发