# Midway Framework Documentation > Midway is a future-proof, cloud-native Node.js framework for enterprise applications. - [Midway Framework Documentation](/index.md) ## blog Blog - [Blog](/blog.md): Blog ### archive 历史博文 - [历史博文](/blog/archive.md): 历史博文 ### authors - [作者](/blog/authors.md) ### core-decorator-merge 从 v3.6.0 开始,Midway 在代码层面将 @midwayjs/decorator 中的代码迁移到了 @midwayjs/core 中,未来 @midwayjs/decorator 包将逐步减少使用。 - [core 和 decorator 包合并的影响](/blog/core-decorator-merge.md): 从 v3.6.0 开始,Midway 在代码层面将 @midwayjs/decorator 中的代码迁移到了 @midwayjs/core 中,未来 @midwayjs/decorator 包将逐步减少使用。 ### jest_update 最近由于 axios 组件的升级,可能在单测时会出现下面的报错。 - [Jest v29 更新](/blog/jest_update.md): 最近由于 axios 组件的升级,可能在单测时会出现下面的报错。 ### mwtsc-check 由于 Midway 版本发布规则,@midwayjs/core 和组件有着版本对应关系,即低版本的 @midwayjs/core 无法使用高版本的组件。 - [mwtsc 增加版本检查](/blog/mwtsc-check.md): 由于 Midway 版本发布规则,@midwayjs/core 和组件有着版本对应关系,即低版本的 @midwayjs/core 无法使用高版本的组件。 ### page #### 2 Blog - [Blog](/blog/page/2.md): Blog #### 3 Blog - [Blog](/blog/page/3.md): Blog #### 4 Blog - [Blog](/blog/page/4.md): Blog #### 5 Blog - [Blog](/blog/page/5.md): Blog #### 6 Blog - [Blog](/blog/page/6.md): Blog ### release #### 3.10.0 新年快乐。 - [Release 3.10.0](/blog/release/3.10.0.md): 新年快乐。 #### 3.11.0 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 - [Release 3.11.0](/blog/release/3.11.0.md): 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 #### 3.12.0 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 - [Release 3.12.0](/blog/release/3.12.0.md): 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 #### 3.13.0 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 - [Release 3.13.0](/blog/release/3.13.0.md): 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 #### 3.14.0 2024 新年快乐。 - [Release 3.14.0](/blog/release/3.14.0.md): 2024 新年快乐。 #### 3.15.0 开工大吉。 - [Release 3.15.0](/blog/release/3.15.0.md): 开工大吉。 #### 3.16.0 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 - [Release 3.16.0](/blog/release/3.16.0.md): 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 #### 3.17.0 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 - [Release 3.17.0](/blog/release/3.17.0.md): 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 #### 3.18.0 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 - [Release 3.18.0](/blog/release/3.18.0.md): 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 #### 3.19.0 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 - [Release 3.19.0](/blog/release/3.19.0.md): 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 #### 3.20.0 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 - [Release 3.20.0](/blog/release/3.20.0.md): 升级请参考 如何更新 Midway 中描述,请不要单独升级某个组件包。 #### 3.6.0 v3.6.0 包含一个重大的 重构,我们将 @midwayjs/decorator 包和 @midwayjs/core 包的内容进行了整合,未来所有的 decorator 相关的内容,都会由 @midwayjs/core 导出,@midwayjs/decorator 包仅做代理,保持功能兼容。 - [Release 3.6.0](/blog/release/3.6.0.md): v3.6.0 包含一个重大的 重构,我们将 @midwayjs/decorator 包和 @midwayjs/core 包的内容进行了整合,未来所有的 decorator 相关的内容,都会由 @midwayjs/core 导出,@midwayjs/decorator 包仅做代理,保持功能兼容。 #### 3.7.0 Features - [Release 3.7.0](/blog/release/3.7.0.md): Features #### 3.8.0 v3.8.0 是在经过大促之后的第一个 minor 版本,积攒了很多新的能力。 - [Release 3.8.0](/blog/release/3.8.0.md): v3.8.0 是在经过大促之后的第一个 minor 版本,积攒了很多新的能力。 #### 3.9.0 大促积攒了约两周的需求,统一在 v3.9.0 发布。 - [Release 3.9.0](/blog/release/3.9.0.md): 大促积攒了约两周的需求,统一在 v3.9.0 发布。 #### 4.0.0 今天,我们正式发布 Midway 4.0。 - [Release 4.0.0](/blog/release/4.0.0.md): 今天,我们正式发布 Midway 4.0。 #### 4.0.0-beta.1 这是全新的 Midway 4.0 的变化,这是一个非常重大的版本。 - [Release 4.0.0-beta.1](/blog/release/4.0.0-beta.1.md): 这是全新的 Midway 4.0 的变化,这是一个非常重大的版本。 #### 4.0.0-beta.10 这是 Midway 4.0 的第十个 beta 版本。 - [Release 4.0.0-beta.10](/blog/release/4.0.0-beta.10.md): 这是 Midway 4.0 的第十个 beta 版本。 #### 4.0.0-beta.2 这是全新的 Midway 4.0 的第二个 beta 版本。 - [Release 4.0.0-beta.2](/blog/release/4.0.0-beta.2.md): 这是全新的 Midway 4.0 的第二个 beta 版本。 #### 4.0.0-beta.9 这是 Midway 4.0 的第九个 beta 版本。 - [Release 4.0.0-beta.9](/blog/release/4.0.0-beta.9.md): 这是 Midway 4.0 的第九个 beta 版本。 ### remove-node-14-ci 最近一段时间,我们发现越来越多的库移除了 Node.js v14 的支持。 - [移除 Node.js v14 的 CI 环境](/blog/remove-node-14-ci.md): 最近一段时间,我们发现越来越多的库移除了 Node.js v14 的支持。 ### remove-node-v12 由于最近 node v18 标记为 LTS,社区相关的相关的依赖都移除了 node v12 的支持,导致 Midway 的基建,单测已经无法正常的执行。 - [移除 node v12 相关的依赖](/blog/remove-node-v12.md): 由于最近 node v18 标记为 LTS,社区相关的相关的依赖都移除了 node v12 的支持,导致 Midway 的基建,单测已经无法正常的执行。 ### skill #### midway 我们新增了 @midwayjs/skill-midway。 - [新增 @midwayjs/skill-midway](/blog/skill/midway.md): 我们新增了 @midwayjs/skill-midway。 ### tags - [标签](/blog/tags.md) #### ai - [1 篇博文 含有标签「ai」](/blog/tags/ai.md) #### core - [1 篇博文 含有标签「core」](/blog/tags/core.md) #### decorator - [1 篇博文 含有标签「decorator」](/blog/tags/decorator.md) #### jest - [1 篇博文 含有标签「jest」](/blog/tags/jest.md) #### midway - [1 篇博文 含有标签「midway」](/blog/tags/midway.md) #### mwtsc - [1 篇博文 含有标签「mwtsc」](/blog/tags/mwtsc.md) #### node - [2 篇博文 含有标签「node」](/blog/tags/node.md) #### release - [20 篇博文 含有标签「release」](/blog/tags/release.md) - [20 篇博文 含有标签「release」](/blog/tags/release/page/2.md) - [20 篇博文 含有标签「release」](/blog/tags/release/page/3.md) - [20 篇博文 含有标签「release」](/blog/tags/release/page/4.md) #### skill - [1 篇博文 含有标签「skill」](/blog/tags/skill.md) #### 更新 - [1 篇博文 含有标签「更新」](/blog/tags/更新.md) ## changelog Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog.md): Keep yourself up-to-date about new features in every release ### authors - [作者](/changelog/authors.md) ### page #### 10 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/10.md): Keep yourself up-to-date about new features in every release #### 11 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/11.md): Keep yourself up-to-date about new features in every release #### 12 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/12.md): Keep yourself up-to-date about new features in every release #### 13 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/13.md): Keep yourself up-to-date about new features in every release #### 14 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/14.md): Keep yourself up-to-date about new features in every release #### 15 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/15.md): Keep yourself up-to-date about new features in every release #### 16 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/16.md): Keep yourself up-to-date about new features in every release #### 17 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/17.md): Keep yourself up-to-date about new features in every release #### 18 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/18.md): Keep yourself up-to-date about new features in every release #### 19 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/19.md): Keep yourself up-to-date about new features in every release #### 2 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/2.md): Keep yourself up-to-date about new features in every release #### 20 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/20.md): Keep yourself up-to-date about new features in every release #### 21 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/21.md): Keep yourself up-to-date about new features in every release #### 22 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/22.md): Keep yourself up-to-date about new features in every release #### 23 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/23.md): Keep yourself up-to-date about new features in every release #### 3 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/3.md): Keep yourself up-to-date about new features in every release #### 4 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/4.md): Keep yourself up-to-date about new features in every release #### 5 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/5.md): Keep yourself up-to-date about new features in every release #### 6 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/6.md): Keep yourself up-to-date about new features in every release #### 7 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/7.md): Keep yourself up-to-date about new features in every release #### 8 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/8.md): Keep yourself up-to-date about new features in every release #### 9 Keep yourself up-to-date about new features in every release - [Midway changelog](/changelog/page/9.md): Keep yourself up-to-date about new features in every release ### v0.2.10 Note: Version bump only for package midway - [v0.2.10](/changelog/v0.2.10.md): Note: Version bump only for package midway ### v0.2.5 Bug Fixes - [v0.2.5](/changelog/v0.2.5.md): Bug Fixes ### v0.2.6 Bug Fixes - [v0.2.6](/changelog/v0.2.6.md): Bug Fixes ### v0.2.7 Bug Fixes - [v0.2.7](/changelog/v0.2.7.md): Bug Fixes ### v0.2.8 Bug Fixes - [v0.2.8](/changelog/v0.2.8.md): Bug Fixes ### v0.2.9 Bug Fixes - [v0.2.9](/changelog/v0.2.9.md): Bug Fixes ### v0.4.5 Bug Fixes - [v0.4.5](/changelog/v0.4.5.md): Bug Fixes ### v0.4.6 Bug Fixes - [v0.4.6](/changelog/v0.4.6.md): Bug Fixes ### v0.4.7 Bug Fixes - [v0.4.7](/changelog/v0.4.7.md): Bug Fixes ### v0.5.0 Bug Fixes - [v0.5.0](/changelog/v0.5.0.md): Bug Fixes ### v0.5.1 Bug Fixes - [v0.5.1](/changelog/v0.5.1.md): Bug Fixes ### v0.6.0 Bug Fixes - [v0.6.0](/changelog/v0.6.0.md): Bug Fixes ### v0.6.1 Bug Fixes - [v0.6.1](/changelog/v0.6.1.md): Bug Fixes ### v0.6.2 Bug Fixes - [v0.6.2](/changelog/v0.6.2.md): Bug Fixes ### v0.6.3 Bug Fixes - [v0.6.3](/changelog/v0.6.3.md): Bug Fixes ### v0.6.4 Bug Fixes - [v0.6.4](/changelog/v0.6.4.md): Bug Fixes ### v0.6.5 Note: Version bump only for package midway - [v0.6.5](/changelog/v0.6.5.md): Note: Version bump only for package midway ### v0.7.0 Bug Fixes - [v0.7.0](/changelog/v0.7.0.md): Bug Fixes ### v0.7.1 Bug Fixes - [v0.7.1](/changelog/v0.7.1.md): Bug Fixes ### v1.0.0 Features - [v1.0.0](/changelog/v1.0.0.md): Features ### v1.0.1 Note: Version bump only for package midway - [v1.0.1](/changelog/v1.0.1.md): Note: Version bump only for package midway ### v1.0.2 Note: Version bump only for package midway - [v1.0.2](/changelog/v1.0.2.md): Note: Version bump only for package midway ### v1.0.3 Bug Fixes - [v1.0.3](/changelog/v1.0.3.md): Bug Fixes ### v1.0.4 Note: Version bump only for package midway - [v1.0.4](/changelog/v1.0.4.md): Note: Version bump only for package midway ### v1.0.5 Bug Fixes - [v1.0.5](/changelog/v1.0.5.md): Bug Fixes ### v1.1.0 Bug Fixes - [v1.1.0](/changelog/v1.1.0.md): Bug Fixes ### v1.1.1 Bug Fixes - [v1.1.1](/changelog/v1.1.1.md): Bug Fixes ### v1.1.2 Note: Version bump only for package midway - [v1.1.2](/changelog/v1.1.2.md): Note: Version bump only for package midway ### v1.10.0 Features - [v1.10.0](/changelog/v1.10.0.md): Features ### v1.10.1 Note: Version bump only for package midway - [v1.10.1](/changelog/v1.10.1.md): Note: Version bump only for package midway ### v1.10.2 Note: Version bump only for package midway - [v1.10.2](/changelog/v1.10.2.md): Note: Version bump only for package midway ### v1.10.3 Bug Fixes - [v1.10.3](/changelog/v1.10.3.md): Bug Fixes ### v1.10.4 Bug Fixes - [v1.10.4](/changelog/v1.10.4.md): Bug Fixes ### v1.10.5 Bug Fixes - [v1.10.5](/changelog/v1.10.5.md): Bug Fixes ### v1.10.6 Bug Fixes - [v1.10.6](/changelog/v1.10.6.md): Bug Fixes ### v1.10.7 Bug Fixes - [v1.10.7](/changelog/v1.10.7.md): Bug Fixes ### v1.10.8 Note: Version bump only for package midway - [v1.10.8](/changelog/v1.10.8.md): Note: Version bump only for package midway ### v1.10.9 Bug Fixes - [v1.10.9](/changelog/v1.10.9.md): Bug Fixes ### v1.11.0 Features - [v1.11.0](/changelog/v1.11.0.md): Features ### v1.11.1 Note: Version bump only for package midway - [v1.11.1](/changelog/v1.11.1.md): Note: Version bump only for package midway ### v1.11.2 Note: Version bump only for package midway - [v1.11.2](/changelog/v1.11.2.md): Note: Version bump only for package midway ### v1.11.3 Bug Fixes - [v1.11.3](/changelog/v1.11.3.md): Bug Fixes ### v1.11.4 Note: Version bump only for package midway - [v1.11.4](/changelog/v1.11.4.md): Note: Version bump only for package midway ### v1.11.5 Note: Version bump only for package midway - [v1.11.5](/changelog/v1.11.5.md): Note: Version bump only for package midway ### v1.11.6 Note: Version bump only for package midway - [v1.11.6](/changelog/v1.11.6.md): Note: Version bump only for package midway ### v1.12.0 Features - [v1.12.0](/changelog/v1.12.0.md): Features ### v1.12.1 Bug Fixes - [v1.12.1](/changelog/v1.12.1.md): Bug Fixes ### v1.13.0 Features - [v1.13.0](/changelog/v1.13.0.md): Features ### v1.14.0 Features - [v1.14.0](/changelog/v1.14.0.md): Features ### v1.14.1 Note: Version bump only for package midway - [v1.14.1](/changelog/v1.14.1.md): Note: Version bump only for package midway ### v1.14.2 Note: Version bump only for package midway - [v1.14.2](/changelog/v1.14.2.md): Note: Version bump only for package midway ### v1.14.3 Bug Fixes - [v1.14.3](/changelog/v1.14.3.md): Bug Fixes ### v1.14.4 Bug Fixes - [v1.14.4](/changelog/v1.14.4.md): Bug Fixes ### v1.15.0 Bug Fixes - [v1.15.0](/changelog/v1.15.0.md): Bug Fixes ### v1.15.1 Bug Fixes - [v1.15.1](/changelog/v1.15.1.md): Bug Fixes ### v1.16.0 Note: Version bump only for package midway - [v1.16.0](/changelog/v1.16.0.md): Note: Version bump only for package midway ### v1.16.1 Note: Version bump only for package midway - [v1.16.1](/changelog/v1.16.1.md): Note: Version bump only for package midway ### v1.16.2 Bug Fixes - [v1.16.2](/changelog/v1.16.2.md): Bug Fixes ### v1.16.3 Note: Version bump only for package midway - [v1.16.3](/changelog/v1.16.3.md): Note: Version bump only for package midway ### v1.16.4 Bug Fixes - [v1.16.4](/changelog/v1.16.4.md): Bug Fixes ### v1.17.0 Features - [v1.17.0](/changelog/v1.17.0.md): Features ### v1.17.1 Bug Fixes - [v1.17.1](/changelog/v1.17.1.md): Bug Fixes ### v1.2.0 Bug Fixes - [v1.2.0](/changelog/v1.2.0.md): Bug Fixes ### v1.2.1 Note: Version bump only for package midway - [v1.2.1](/changelog/v1.2.1.md): Note: Version bump only for package midway ### v1.2.2 Bug Fixes - [v1.2.2](/changelog/v1.2.2.md): Bug Fixes ### v1.2.3 Bug Fixes - [v1.2.3](/changelog/v1.2.3.md): Bug Fixes ### v1.2.4 Bug Fixes - [v1.2.4](/changelog/v1.2.4.md): Bug Fixes ### v1.3.0 Bug Fixes - [v1.3.0](/changelog/v1.3.0.md): Bug Fixes ### v1.3.1 Note: Version bump only for package midway - [v1.3.1](/changelog/v1.3.1.md): Note: Version bump only for package midway ### v1.3.2 Note: Version bump only for package midway - [v1.3.2](/changelog/v1.3.2.md): Note: Version bump only for package midway ### v1.4.0 Features - [v1.4.0](/changelog/v1.4.0.md): Features ### v1.4.1 Note: Version bump only for package midway - [v1.4.1](/changelog/v1.4.1.md): Note: Version bump only for package midway ### v1.4.10 Note: Version bump only for package midway - [v1.4.10](/changelog/v1.4.10.md): Note: Version bump only for package midway ### v1.4.2 Note: Version bump only for package midway - [v1.4.2](/changelog/v1.4.2.md): Note: Version bump only for package midway ### v1.4.3 Note: Version bump only for package midway - [v1.4.3](/changelog/v1.4.3.md): Note: Version bump only for package midway ### v1.4.4 Bug Fixes - [v1.4.4](/changelog/v1.4.4.md): Bug Fixes ### v1.4.5 Note: Version bump only for package midway - [v1.4.5](/changelog/v1.4.5.md): Note: Version bump only for package midway ### v1.4.6 Note: Version bump only for package midway - [v1.4.6](/changelog/v1.4.6.md): Note: Version bump only for package midway ### v1.4.7 Note: Version bump only for package midway - [v1.4.7](/changelog/v1.4.7.md): Note: Version bump only for package midway ### v1.4.8 Note: Version bump only for package midway - [v1.4.8](/changelog/v1.4.8.md): Note: Version bump only for package midway ### v1.4.9 Bug Fixes - [v1.4.9](/changelog/v1.4.9.md): Bug Fixes ### v1.5.0 Bug Fixes - [v1.5.0](/changelog/v1.5.0.md): Bug Fixes ### v1.5.1 Note: Version bump only for package midway - [v1.5.1](/changelog/v1.5.1.md): Note: Version bump only for package midway ### v1.5.2 Note: Version bump only for package midway - [v1.5.2](/changelog/v1.5.2.md): Note: Version bump only for package midway ### v1.5.3 Note: Version bump only for package midway - [v1.5.3](/changelog/v1.5.3.md): Note: Version bump only for package midway ### v1.5.4 Note: Version bump only for package midway - [v1.5.4](/changelog/v1.5.4.md): Note: Version bump only for package midway ### v1.5.5 Note: Version bump only for package midway - [v1.5.5](/changelog/v1.5.5.md): Note: Version bump only for package midway ### v1.5.6 Bug Fixes - [v1.5.6](/changelog/v1.5.6.md): Bug Fixes ### v1.6.0 Bug Fixes - [v1.6.0](/changelog/v1.6.0.md): Bug Fixes ### v1.6.1 Note: Version bump only for package midway - [v1.6.1](/changelog/v1.6.1.md): Note: Version bump only for package midway ### v1.6.2 Bug Fixes - [v1.6.2](/changelog/v1.6.2.md): Bug Fixes ### v1.6.3 Note: Version bump only for package midway - [v1.6.3](/changelog/v1.6.3.md): Note: Version bump only for package midway ### v1.7.0 Bug Fixes - [v1.7.0](/changelog/v1.7.0.md): Bug Fixes ### v1.8.0 Bug Fixes - [v1.8.0](/changelog/v1.8.0.md): Bug Fixes ### v1.9.0 Bug Fixes - [v1.9.0](/changelog/v1.9.0.md): Bug Fixes ### v2.0.0 Note: Version bump only for package midway - [v2.0.0](/changelog/v2.0.0.md): Note: Version bump only for package midway ### v2.0.1 Features - [v2.0.1](/changelog/v2.0.1.md): Features ### v2.0.10 Note: Version bump only for package midway - [v2.0.10](/changelog/v2.0.10.md): Note: Version bump only for package midway ### v2.0.11 Bug Fixes - [v2.0.11](/changelog/v2.0.11.md): Bug Fixes ### v2.0.12 Bug Fixes - [v2.0.12](/changelog/v2.0.12.md): Bug Fixes ### v2.0.13 Note: Version bump only for package midway - [v2.0.13](/changelog/v2.0.13.md): Note: Version bump only for package midway ### v2.0.14 Note: Version bump only for package midway - [v2.0.14](/changelog/v2.0.14.md): Note: Version bump only for package midway ### v2.0.15 Bug Fixes - [v2.0.15](/changelog/v2.0.15.md): Bug Fixes ### v2.0.16 Bug Fixes - [v2.0.16](/changelog/v2.0.16.md): Bug Fixes ### v2.0.17 Bug Fixes - [v2.0.17](/changelog/v2.0.17.md): Bug Fixes ### v2.0.2 Bug Fixes - [v2.0.2](/changelog/v2.0.2.md): Bug Fixes ### v2.0.3 Note: Version bump only for package midway - [v2.0.3](/changelog/v2.0.3.md): Note: Version bump only for package midway ### v2.0.4 Bug Fixes - [v2.0.4](/changelog/v2.0.4.md): Bug Fixes ### v2.0.5 Bug Fixes - [v2.0.5](/changelog/v2.0.5.md): Bug Fixes ### v2.0.6 Bug Fixes - [v2.0.6](/changelog/v2.0.6.md): Bug Fixes ### v2.0.7 Note: Version bump only for package midway - [v2.0.7](/changelog/v2.0.7.md): Note: Version bump only for package midway ### v2.0.8 Bug Fixes - [v2.0.8](/changelog/v2.0.8.md): Bug Fixes ### v2.0.9 Bug Fixes - [v2.0.9](/changelog/v2.0.9.md): Bug Fixes ### v2.1.0 Features - [v2.1.0](/changelog/v2.1.0.md): Features ### v2.1.1 Bug Fixes - [v2.1.1](/changelog/v2.1.1.md): Bug Fixes ### v2.1.2 Bug Fixes - [v2.1.2](/changelog/v2.1.2.md): Bug Fixes ### v2.1.3 Bug Fixes - [v2.1.3](/changelog/v2.1.3.md): Bug Fixes ### v2.1.4 Bug Fixes - [v2.1.4](/changelog/v2.1.4.md): Bug Fixes ### v2.10.0 Bug Fixes - [v2.10.0](/changelog/v2.10.0.md): Bug Fixes ### v2.10.1 Bug Fixes - [v2.10.1](/changelog/v2.10.1.md): Bug Fixes ### v2.10.10 Bug Fixes - [v2.10.10](/changelog/v2.10.10.md): Bug Fixes ### v2.10.11 Bug Fixes - [v2.10.11](/changelog/v2.10.11.md): Bug Fixes ### v2.10.12 Bug Fixes - [v2.10.12](/changelog/v2.10.12.md): Bug Fixes ### v2.10.13 Bug Fixes - [v2.10.13](/changelog/v2.10.13.md): Bug Fixes ### v2.10.14 Bug Fixes - [v2.10.14](/changelog/v2.10.14.md): Bug Fixes ### v2.10.15 Bug Fixes - [v2.10.15](/changelog/v2.10.15.md): Bug Fixes ### v2.10.16 Bug Fixes - [v2.10.16](/changelog/v2.10.16.md): Bug Fixes ### v2.10.17 Bug Fixes - [v2.10.17](/changelog/v2.10.17.md): Bug Fixes ### v2.10.18 Bug Fixes - [v2.10.18](/changelog/v2.10.18.md): Bug Fixes ### v2.10.19 Bug Fixes - [v2.10.19](/changelog/v2.10.19.md): Bug Fixes ### v2.10.2 Bug Fixes - [v2.10.2](/changelog/v2.10.2.md): Bug Fixes ### v2.10.3 Bug Fixes - [v2.10.3](/changelog/v2.10.3.md): Bug Fixes ### v2.10.4 Bug Fixes - [v2.10.4](/changelog/v2.10.4.md): Bug Fixes ### v2.10.5 Bug Fixes - [v2.10.5](/changelog/v2.10.5.md): Bug Fixes ### v2.10.6 Bug Fixes - [v2.10.6](/changelog/v2.10.6.md): Bug Fixes ### v2.10.7 Bug Fixes - [v2.10.7](/changelog/v2.10.7.md): Bug Fixes ### v2.10.8 Bug Fixes - [v2.10.8](/changelog/v2.10.8.md): Bug Fixes ### v2.10.9 Bug Fixes - [v2.10.9](/changelog/v2.10.9.md): Bug Fixes ### v2.11.0 Bug Fixes - [v2.11.0](/changelog/v2.11.0.md): Bug Fixes ### v2.11.1 Bug Fixes - [v2.11.1](/changelog/v2.11.1.md): Bug Fixes ### v2.11.2 Bug Fixes - [v2.11.2](/changelog/v2.11.2.md): Bug Fixes ### v2.11.3 Bug Fixes - [v2.11.3](/changelog/v2.11.3.md): Bug Fixes ### v2.11.4 Bug Fixes - [v2.11.4](/changelog/v2.11.4.md): Bug Fixes ### v2.11.5 Bug Fixes - [v2.11.5](/changelog/v2.11.5.md): Bug Fixes ### v2.11.6 Features - [v2.11.6](/changelog/v2.11.6.md): Features ### v2.11.7 Bug Fixes - [v2.11.7](/changelog/v2.11.7.md): Bug Fixes ### v2.12.0 Features - [v2.12.0](/changelog/v2.12.0.md): Features ### v2.12.1 Bug Fixes - [v2.12.1](/changelog/v2.12.1.md): Bug Fixes ### v2.12.2 Bug Fixes - [v2.12.2](/changelog/v2.12.2.md): Bug Fixes ### v2.12.3 Bug Fixes - [v2.12.3](/changelog/v2.12.3.md): Bug Fixes ### v2.12.4 Bug Fixes - [v2.12.4](/changelog/v2.12.4.md): Bug Fixes ### v2.2.0 Features - [v2.2.0](/changelog/v2.2.0.md): Features ### v2.2.1 Bug Fixes - [v2.2.1](/changelog/v2.2.1.md): Bug Fixes ### v2.2.10 Bug Fixes - [v2.2.10](/changelog/v2.2.10.md): Bug Fixes ### v2.2.2 Bug Fixes - [v2.2.2](/changelog/v2.2.2.md): Bug Fixes ### v2.2.3 Bug Fixes - [v2.2.3](/changelog/v2.2.3.md): Bug Fixes ### v2.2.4 Bug Fixes - [v2.2.4](/changelog/v2.2.4.md): Bug Fixes ### v2.2.5 Bug Fixes - [v2.2.5](/changelog/v2.2.5.md): Bug Fixes ### v2.2.6 Features - [v2.2.6](/changelog/v2.2.6.md): Features ### v2.2.7 Bug Fixes - [v2.2.7](/changelog/v2.2.7.md): Bug Fixes ### v2.2.8 Bug Fixes - [v2.2.8](/changelog/v2.2.8.md): Bug Fixes ### v2.2.9 Bug Fixes - [v2.2.9](/changelog/v2.2.9.md): Bug Fixes ### v2.3.0 Features - [v2.3.0](/changelog/v2.3.0.md): Features ### v2.3.1 Bug Fixes - [v2.3.1](/changelog/v2.3.1.md): Bug Fixes ### v2.3.10 Bug Fixes - [v2.3.10](/changelog/v2.3.10.md): Bug Fixes ### v2.3.11 Note: Version bump only for package midway - [v2.3.11](/changelog/v2.3.11.md): Note: Version bump only for package midway ### v2.3.12 Bug Fixes - [v2.3.12](/changelog/v2.3.12.md): Bug Fixes ### v2.3.13 Bug Fixes - [v2.3.13](/changelog/v2.3.13.md): Bug Fixes ### v2.3.14 Note: Version bump only for package midway - [v2.3.14](/changelog/v2.3.14.md): Note: Version bump only for package midway ### v2.3.15 Note: Version bump only for package midway - [v2.3.15](/changelog/v2.3.15.md): Note: Version bump only for package midway ### v2.3.16 Bug Fixes - [v2.3.16](/changelog/v2.3.16.md): Bug Fixes ### v2.3.17 Note: Version bump only for package midway - [v2.3.17](/changelog/v2.3.17.md): Note: Version bump only for package midway ### v2.3.18 Bug Fixes - [v2.3.18](/changelog/v2.3.18.md): Bug Fixes ### v2.3.19 Features - [v2.3.19](/changelog/v2.3.19.md): Features ### v2.3.2 Bug Fixes - [v2.3.2](/changelog/v2.3.2.md): Bug Fixes ### v2.3.20 Bug Fixes - [v2.3.20](/changelog/v2.3.20.md): Bug Fixes ### v2.3.21 Bug Fixes - [v2.3.21](/changelog/v2.3.21.md): Bug Fixes ### v2.3.22 Bug Fixes - [v2.3.22](/changelog/v2.3.22.md): Bug Fixes ### v2.3.23 Bug Fixes - [v2.3.23](/changelog/v2.3.23.md): Bug Fixes ### v2.3.3 Bug Fixes - [v2.3.3](/changelog/v2.3.3.md): Bug Fixes ### v2.3.4 Note: Version bump only for package midway - [v2.3.4](/changelog/v2.3.4.md): Note: Version bump only for package midway ### v2.3.6 Bug Fixes - [v2.3.6](/changelog/v2.3.6.md): Bug Fixes ### v2.3.7 Bug Fixes - [v2.3.7](/changelog/v2.3.7.md): Bug Fixes ### v2.3.8 Bug Fixes - [v2.3.8](/changelog/v2.3.8.md): Bug Fixes ### v2.3.9 Bug Fixes - [v2.3.9](/changelog/v2.3.9.md): Bug Fixes ### v2.4.0 Bug Fixes - [v2.4.0](/changelog/v2.4.0.md): Bug Fixes ### v2.4.1 Bug Fixes - [v2.4.1](/changelog/v2.4.1.md): Bug Fixes ### v2.4.2 Bug Fixes - [v2.4.2](/changelog/v2.4.2.md): Bug Fixes ### v2.4.3 Bug Fixes - [v2.4.3](/changelog/v2.4.3.md): Bug Fixes ### v2.4.4 Bug Fixes - [v2.4.4](/changelog/v2.4.4.md): Bug Fixes ### v2.4.5 Bug Fixes - [v2.4.5](/changelog/v2.4.5.md): Bug Fixes ### v2.4.6 Note: Version bump only for package midway - [v2.4.6](/changelog/v2.4.6.md): Note: Version bump only for package midway ### v2.4.7 Note: Version bump only for package midway - [v2.4.7](/changelog/v2.4.7.md): Note: Version bump only for package midway ### v2.4.8 Bug Fixes - [v2.4.8](/changelog/v2.4.8.md): Bug Fixes ### v2.5.0 Bug Fixes - [v2.5.0](/changelog/v2.5.0.md): Bug Fixes ### v2.5.1 Bug Fixes - [v2.5.1](/changelog/v2.5.1.md): Bug Fixes ### v2.5.2 Bug Fixes - [v2.5.2](/changelog/v2.5.2.md): Bug Fixes ### v2.5.3 Bug Fixes - [v2.5.3](/changelog/v2.5.3.md): Bug Fixes ### v2.5.4 Bug Fixes - [v2.5.4](/changelog/v2.5.4.md): Bug Fixes ### v2.5.5 Bug Fixes - [v2.5.5](/changelog/v2.5.5.md): Bug Fixes ### v2.6.0 Bug Fixes - [v2.6.0](/changelog/v2.6.0.md): Bug Fixes ### v2.6.1 Bug Fixes - [v2.6.1](/changelog/v2.6.1.md): Bug Fixes ### v2.6.10 Bug Fixes - [v2.6.10](/changelog/v2.6.10.md): Bug Fixes ### v2.6.11 Bug Fixes - [v2.6.11](/changelog/v2.6.11.md): Bug Fixes ### v2.6.12 Bug Fixes - [v2.6.12](/changelog/v2.6.12.md): Bug Fixes ### v2.6.13 Bug Fixes - [v2.6.13](/changelog/v2.6.13.md): Bug Fixes ### v2.6.2 Bug Fixes - [v2.6.2](/changelog/v2.6.2.md): Bug Fixes ### v2.6.3 Bug Fixes - [v2.6.3](/changelog/v2.6.3.md): Bug Fixes ### v2.6.4 Bug Fixes - [v2.6.4](/changelog/v2.6.4.md): Bug Fixes ### v2.6.5 Bug Fixes - [v2.6.5](/changelog/v2.6.5.md): Bug Fixes ### v2.6.6 Note: Version bump only for package midway - [v2.6.6](/changelog/v2.6.6.md): Note: Version bump only for package midway ### v2.6.7 Bug Fixes - [v2.6.7](/changelog/v2.6.7.md): Bug Fixes ### v2.6.8 Bug Fixes - [v2.6.8](/changelog/v2.6.8.md): Bug Fixes ### v2.6.9 Bug Fixes - [v2.6.9](/changelog/v2.6.9.md): Bug Fixes ### v2.7.0 Bug Fixes - [v2.7.0](/changelog/v2.7.0.md): Bug Fixes ### v2.7.1 Bug Fixes - [v2.7.1](/changelog/v2.7.1.md): Bug Fixes ### v2.7.2 Bug Fixes - [v2.7.2](/changelog/v2.7.2.md): Bug Fixes ### v2.7.3 Bug Fixes - [v2.7.3](/changelog/v2.7.3.md): Bug Fixes ### v2.7.4 Bug Fixes - [v2.7.4](/changelog/v2.7.4.md): Bug Fixes ### v2.7.5 Bug Fixes - [v2.7.5](/changelog/v2.7.5.md): Bug Fixes ### v2.7.6 Bug Fixes - [v2.7.6](/changelog/v2.7.6.md): Bug Fixes ### v2.7.7 Bug Fixes - [v2.7.7](/changelog/v2.7.7.md): Bug Fixes ### v2.8.0 Features - [v2.8.0](/changelog/v2.8.0.md): Features ### v2.8.10 Bug Fixes - [v2.8.10](/changelog/v2.8.10.md): Bug Fixes ### v2.8.11 Bug Fixes - [v2.8.11](/changelog/v2.8.11.md): Bug Fixes ### v2.8.12 Bug Fixes - [v2.8.12](/changelog/v2.8.12.md): Bug Fixes ### v2.8.13 Bug Fixes - [v2.8.13](/changelog/v2.8.13.md): Bug Fixes ### v2.8.2 Bug Fixes - [v2.8.2](/changelog/v2.8.2.md): Bug Fixes ### v2.8.3 Bug Fixes - [v2.8.3](/changelog/v2.8.3.md): Bug Fixes ### v2.8.4 Bug Fixes - [v2.8.4](/changelog/v2.8.4.md): Bug Fixes ### v2.8.5 Bug Fixes - [v2.8.5](/changelog/v2.8.5.md): Bug Fixes ### v2.8.6 Bug Fixes - [v2.8.6](/changelog/v2.8.6.md): Bug Fixes ### v2.8.7 Bug Fixes - [v2.8.7](/changelog/v2.8.7.md): Bug Fixes ### v2.8.8 Bug Fixes - [v2.8.8](/changelog/v2.8.8.md): Bug Fixes ### v2.8.9 Bug Fixes - [v2.8.9](/changelog/v2.8.9.md): Bug Fixes ### v2.9.0 Bug Fixes - [v2.9.0](/changelog/v2.9.0.md): Bug Fixes ### v2.9.1 Bug Fixes - [v2.9.1](/changelog/v2.9.1.md): Bug Fixes ### v2.9.2 Bug Fixes - [v2.9.2](/changelog/v2.9.2.md): Bug Fixes ### v2.9.3 Bug Fixes - [v2.9.3](/changelog/v2.9.3.md): Bug Fixes ### v3.0.0 Bug Fixes - [v3.0.0](/changelog/v3.0.0.md): Bug Fixes ### v3.0.1 Bug Fixes - [v3.0.1](/changelog/v3.0.1.md): Bug Fixes ### v3.0.10 Bug Fixes - [v3.0.10](/changelog/v3.0.10.md): Bug Fixes ### v3.0.11 Bug Fixes - [v3.0.11](/changelog/v3.0.11.md): Bug Fixes ### v3.0.12 Bug Fixes - [v3.0.12](/changelog/v3.0.12.md): Bug Fixes ### v3.0.13 Bug Fixes - [v3.0.13](/changelog/v3.0.13.md): Bug Fixes ### v3.0.2 Bug Fixes - [v3.0.2](/changelog/v3.0.2.md): Bug Fixes ### v3.0.3 Bug Fixes - [v3.0.3](/changelog/v3.0.3.md): Bug Fixes ### v3.0.4 Bug Fixes - [v3.0.4](/changelog/v3.0.4.md): Bug Fixes ### v3.0.5 Bug Fixes - [v3.0.5](/changelog/v3.0.5.md): Bug Fixes ### v3.0.6 Bug Fixes - [v3.0.6](/changelog/v3.0.6.md): Bug Fixes ### v3.0.7 Bug Fixes - [v3.0.7](/changelog/v3.0.7.md): Bug Fixes ### v3.0.8 Bug Fixes - [v3.0.8](/changelog/v3.0.8.md): Bug Fixes ### v3.0.9 Bug Fixes - [v3.0.9](/changelog/v3.0.9.md): Bug Fixes ### v3.1.0 Bug Fixes - [v3.1.0](/changelog/v3.1.0.md): Bug Fixes ### v3.1.1 Bug Fixes - [v3.1.1](/changelog/v3.1.1.md): Bug Fixes ### v3.1.2 Bug Fixes - [v3.1.2](/changelog/v3.1.2.md): Bug Fixes ### v3.1.3 Bug Fixes - [v3.1.3](/changelog/v3.1.3.md): Bug Fixes ### v3.1.4 Bug Fixes - [v3.1.4](/changelog/v3.1.4.md): Bug Fixes ### v3.1.5 Bug Fixes - [v3.1.5](/changelog/v3.1.5.md): Bug Fixes ### v3.1.6 Bug Fixes - [v3.1.6](/changelog/v3.1.6.md): Bug Fixes ### v3.10.0 Breaking Change - [v3.10.0](/changelog/v3.10.0.md): Breaking Change ### v3.10.1 Bug Fix - [v3.10.1](/changelog/v3.10.1.md): Bug Fix ### v3.10.10 Bug Fix - [v3.10.10](/changelog/v3.10.10.md): Bug Fix ### v3.10.11 Polish - [v3.10.11](/changelog/v3.10.11.md): Polish ### v3.10.12 Bug Fix - [v3.10.12](/changelog/v3.10.12.md): Bug Fix ### v3.10.13 Bug Fix - [v3.10.13](/changelog/v3.10.13.md): Bug Fix ### v3.10.14 Bug Fix - [v3.10.14](/changelog/v3.10.14.md): Bug Fix ### v3.10.15 Bug Fix - [v3.10.15](/changelog/v3.10.15.md): Bug Fix ### v3.10.16 Bug Fix - [v3.10.16](/changelog/v3.10.16.md): Bug Fix ### v3.10.2 Bug Fix - [v3.10.2](/changelog/v3.10.2.md): Bug Fix ### v3.10.3 Bug Fix - [v3.10.3](/changelog/v3.10.3.md): Bug Fix ### v3.10.4 Bug Fix - [v3.10.4](/changelog/v3.10.4.md): Bug Fix ### v3.10.5 Bug Fix - [v3.10.5](/changelog/v3.10.5.md): Bug Fix ### v3.10.6 Bug Fix - [v3.10.6](/changelog/v3.10.6.md): Bug Fix ### v3.10.7 Bug Fix - [v3.10.7](/changelog/v3.10.7.md): Bug Fix ### v3.10.8 Polish - [v3.10.8](/changelog/v3.10.8.md): Polish ### v3.10.9 Bug Fix - [v3.10.9](/changelog/v3.10.9.md): Bug Fix ### v3.11.0 New Feature - [v3.11.0](/changelog/v3.11.0.md): New Feature ### v3.11.1 Bug Fix - [v3.11.1](/changelog/v3.11.1.md): Bug Fix ### v3.11.10 Bug Fix - [v3.11.10](/changelog/v3.11.10.md): Bug Fix ### v3.11.11 Bug Fix - [v3.11.11](/changelog/v3.11.11.md): Bug Fix ### v3.11.12 Documentation - [v3.11.12](/changelog/v3.11.12.md): Documentation ### v3.11.13 Bug Fix - [v3.11.13](/changelog/v3.11.13.md): Bug Fix ### v3.11.14 Bug Fix - [v3.11.14](/changelog/v3.11.14.md): Bug Fix ### v3.11.15 Bug Fix - [v3.11.15](/changelog/v3.11.15.md): Bug Fix ### v3.11.16 Bug Fix - [v3.11.16](/changelog/v3.11.16.md): Bug Fix ### v3.11.17 Bug Fix - [v3.11.17](/changelog/v3.11.17.md): Bug Fix ### v3.11.18 Bug Fix - [v3.11.18](/changelog/v3.11.18.md): Bug Fix ### v3.11.2 Bug Fix - [v3.11.2](/changelog/v3.11.2.md): Bug Fix ### v3.11.3 Bug Fix - [v3.11.3](/changelog/v3.11.3.md): Bug Fix ### v3.11.4 Bug Fix - [v3.11.4](/changelog/v3.11.4.md): Bug Fix ### v3.11.5 Bug Fix - [v3.11.5](/changelog/v3.11.5.md): Bug Fix ### v3.11.6 Polish - [v3.11.6](/changelog/v3.11.6.md): Polish ### v3.11.7 Dependencies - [v3.11.7](/changelog/v3.11.7.md): Dependencies ### v3.11.8 Bug Fix - [v3.11.8](/changelog/v3.11.8.md): Bug Fix ### v3.11.9 Polish - [v3.11.9](/changelog/v3.11.9.md): Polish ### v3.12.0 Breaking Change - [v3.12.0](/changelog/v3.12.0.md): Breaking Change ### v3.12.1 Bug Fix - [v3.12.1](/changelog/v3.12.1.md): Bug Fix ### v3.12.10 Dependencies - [v3.12.10](/changelog/v3.12.10.md): Dependencies ### v3.12.2 Bug Fix - [v3.12.2](/changelog/v3.12.2.md): Bug Fix ### v3.12.3 Bug Fix - [v3.12.3](/changelog/v3.12.3.md): Bug Fix ### v3.12.4 Bug Fix - [v3.12.4](/changelog/v3.12.4.md): Bug Fix ### v3.12.5 Documentation - [v3.12.5](/changelog/v3.12.5.md): Documentation ### v3.12.6 Documentation - [v3.12.6](/changelog/v3.12.6.md): Documentation ### v3.12.7 Bug Fix - [v3.12.7](/changelog/v3.12.7.md): Bug Fix ### v3.12.8 Bug Fix - [v3.12.8](/changelog/v3.12.8.md): Bug Fix ### v3.12.9 Bug Fix - [v3.12.9](/changelog/v3.12.9.md): Bug Fix ### v3.13.0 New Feature - [v3.13.0](/changelog/v3.13.0.md): New Feature ### v3.13.1 Bug Fix - [v3.13.1](/changelog/v3.13.1.md): Bug Fix ### v3.13.2 Bug Fix - [v3.13.2](/changelog/v3.13.2.md): Bug Fix ### v3.13.3 Bug Fix - [v3.13.3](/changelog/v3.13.3.md): Bug Fix ### v3.13.4 Bug Fix - [v3.13.4](/changelog/v3.13.4.md): Bug Fix ### v3.13.5 Polish - [v3.13.5](/changelog/v3.13.5.md): Polish ### v3.13.6 Bug Fix - [v3.13.6](/changelog/v3.13.6.md): Bug Fix ### v3.13.7 Dependencies - [v3.13.7](/changelog/v3.13.7.md): Dependencies ### v3.13.8 Bug Fix - [v3.13.8](/changelog/v3.13.8.md): Bug Fix ### v3.13.9 Bug Fix - [v3.13.9](/changelog/v3.13.9.md): Bug Fix ### v3.14.0 New Feature - [v3.14.0](/changelog/v3.14.0.md): New Feature ### v3.14.1 Bug Fix - [v3.14.1](/changelog/v3.14.1.md): Bug Fix ### v3.14.10 Bug Fix - [v3.14.10](/changelog/v3.14.10.md): Bug Fix ### v3.14.11 Bug Fix - [v3.14.11](/changelog/v3.14.11.md): Bug Fix ### v3.14.12 Bug Fix - [v3.14.12](/changelog/v3.14.12.md): Bug Fix ### v3.14.13 Bug Fix - [v3.14.13](/changelog/v3.14.13.md): Bug Fix ### v3.14.2 Bug Fix - [v3.14.2](/changelog/v3.14.2.md): Bug Fix ### v3.14.3 Polish - [v3.14.3](/changelog/v3.14.3.md): Polish ### v3.14.4 Bug Fix - [v3.14.4](/changelog/v3.14.4.md): Bug Fix ### v3.14.5 Bug Fix - [v3.14.5](/changelog/v3.14.5.md): Bug Fix ### v3.14.6 Bug Fix - [v3.14.6](/changelog/v3.14.6.md): Bug Fix ### v3.14.7 Bug Fix - [v3.14.7](/changelog/v3.14.7.md): Bug Fix ### v3.14.8 Bug Fix - [v3.14.8](/changelog/v3.14.8.md): Bug Fix ### v3.14.9 Polish - [v3.14.9](/changelog/v3.14.9.md): Polish ### v3.15.0 New Feature - [v3.15.0](/changelog/v3.15.0.md): New Feature ### v3.15.1 Polish - [v3.15.1](/changelog/v3.15.1.md): Polish ### v3.15.10 Polish - [v3.15.10](/changelog/v3.15.10.md): Polish ### v3.15.11 Bug Fix - [v3.15.11](/changelog/v3.15.11.md): Bug Fix ### v3.15.2 Polish - [v3.15.2](/changelog/v3.15.2.md): Polish ### v3.15.3 Bug Fix - [v3.15.3](/changelog/v3.15.3.md): Bug Fix ### v3.15.4 Bug Fix - [v3.15.4](/changelog/v3.15.4.md): Bug Fix ### v3.15.5 Bug Fix - [v3.15.5](/changelog/v3.15.5.md): Bug Fix ### v3.15.6 Bug Fix - [v3.15.6](/changelog/v3.15.6.md): Bug Fix ### v3.15.7 Bug Fix - [v3.15.7](/changelog/v3.15.7.md): Bug Fix ### v3.15.8 Bug Fix - [v3.15.8](/changelog/v3.15.8.md): Bug Fix ### v3.15.9 Bug Fix - [v3.15.9](/changelog/v3.15.9.md): Bug Fix ### v3.16.0 New Feature - [v3.16.0](/changelog/v3.16.0.md): New Feature ### v3.16.1 Bug Fix - [v3.16.1](/changelog/v3.16.1.md): Bug Fix ### v3.16.2 Bug Fix - [v3.16.2](/changelog/v3.16.2.md): Bug Fix ### v3.16.3 Bug Fix - [v3.16.3](/changelog/v3.16.3.md): Bug Fix ### v3.16.4 Documentation - [v3.16.4](/changelog/v3.16.4.md): Documentation ### v3.16.5 Documentation - [v3.16.5](/changelog/v3.16.5.md): Documentation ### v3.16.6 Polish - [v3.16.6](/changelog/v3.16.6.md): Polish ### v3.16.7 Bug Fix - [v3.16.7](/changelog/v3.16.7.md): Bug Fix ### v3.16.8 Bug Fix - [v3.16.8](/changelog/v3.16.8.md): Bug Fix ### v3.17.0 New Feature - [v3.17.0](/changelog/v3.17.0.md): New Feature ### v3.17.1 Bug Fix - [v3.17.1](/changelog/v3.17.1.md): Bug Fix ### v3.17.2 Bug Fix - [v3.17.2](/changelog/v3.17.2.md): Bug Fix ### v3.17.3 Bug Fix - [v3.17.3](/changelog/v3.17.3.md): Bug Fix ### v3.18.0 New Feature - [v3.18.0](/changelog/v3.18.0.md): New Feature ### v3.18.1 Bug Fix - [v3.18.1](/changelog/v3.18.1.md): Bug Fix ### v3.18.2 Documentation - [v3.18.2](/changelog/v3.18.2.md): Documentation ### v3.19.0 New Feature - [v3.19.0](/changelog/v3.19.0.md): New Feature ### v3.19.1 Bug Fix - [v3.19.1](/changelog/v3.19.1.md): Bug Fix ### v3.19.2 Polish - [v3.19.2](/changelog/v3.19.2.md): Polish ### v3.19.3 Bug Fix - [v3.19.3](/changelog/v3.19.3.md): Bug Fix ### v3.2.0 Bug Fixes - [v3.2.0](/changelog/v3.2.0.md): Bug Fixes ### v3.2.1 Bug Fixes - [v3.2.1](/changelog/v3.2.1.md): Bug Fixes ### v3.2.2 Bug Fixes - [v3.2.2](/changelog/v3.2.2.md): Bug Fixes ### v3.20.0 Polish - [v3.20.0](/changelog/v3.20.0.md): Polish ### v3.20.1 Bug Fix - [v3.20.1](/changelog/v3.20.1.md): Bug Fix ### v3.20.10 Bug Fix - [v3.20.10](/changelog/v3.20.10.md): Bug Fix ### v3.20.11 Polish - [v3.20.11](/changelog/v3.20.11.md): Polish ### v3.20.12 Polish - [v3.20.12](/changelog/v3.20.12.md): Polish ### v3.20.2 Bug Fix - [v3.20.2](/changelog/v3.20.2.md): Bug Fix ### v3.20.3 Bug Fix - [v3.20.3](/changelog/v3.20.3.md): Bug Fix ### v3.20.4 Polish - [v3.20.4](/changelog/v3.20.4.md): Polish ### v3.20.5 Polish - [v3.20.5](/changelog/v3.20.5.md): Polish ### v3.20.6 Polish - [v3.20.6](/changelog/v3.20.6.md): Polish ### v3.20.7 Bug Fix - [v3.20.7](/changelog/v3.20.7.md): Bug Fix ### v3.20.8 Polish - [v3.20.8](/changelog/v3.20.8.md): Polish ### v3.20.9 Polish - [v3.20.9](/changelog/v3.20.9.md): Polish ### v3.3.0 Bug Fixes - [v3.3.0](/changelog/v3.3.0.md): Bug Fixes ### v3.3.1 Bug Fixes - [v3.3.1](/changelog/v3.3.1.md): Bug Fixes ### v3.3.10 Features - [v3.3.10](/changelog/v3.3.10.md): Features ### v3.3.11 Note: Version bump only for package midway_project - [v3.3.11](/changelog/v3.3.11.md): Note: Version bump only for package midway_project ### v3.3.12 Bug Fixes - [v3.3.12](/changelog/v3.3.12.md): Bug Fixes ### v3.3.13 Bug Fixes - [v3.3.13](/changelog/v3.3.13.md): Bug Fixes ### v3.3.14 Bug Fixes - [v3.3.14](/changelog/v3.3.14.md): Bug Fixes ### v3.3.2 Bug Fixes - [v3.3.2](/changelog/v3.3.2.md): Bug Fixes ### v3.3.3 Bug Fixes - [v3.3.3](/changelog/v3.3.3.md): Bug Fixes ### v3.3.4 Bug Fixes - [v3.3.4](/changelog/v3.3.4.md): Bug Fixes ### v3.3.5 Bug Fixes - [v3.3.5](/changelog/v3.3.5.md): Bug Fixes ### v3.3.6 Bug Fixes - [v3.3.6](/changelog/v3.3.6.md): Bug Fixes ### v3.3.7 Bug Fixes - [v3.3.7](/changelog/v3.3.7.md): Bug Fixes ### v3.3.8 Bug Fixes - [v3.3.8](/changelog/v3.3.8.md): Bug Fixes ### v3.3.9 Bug Fixes - [v3.3.9](/changelog/v3.3.9.md): Bug Fixes ### v3.4.0 Note: Version bump only for package midway_project - [v3.4.0](/changelog/v3.4.0.md): Note: Version bump only for package midway_project ### v3.4.1 Bug Fixes - [v3.4.1](/changelog/v3.4.1.md): Bug Fixes ### v3.4.10 Bug Fixes - [v3.4.10](/changelog/v3.4.10.md): Bug Fixes ### v3.4.11 Bug Fixes - [v3.4.11](/changelog/v3.4.11.md): Bug Fixes ### v3.4.12 Bug Fixes - [v3.4.12](/changelog/v3.4.12.md): Bug Fixes ### v3.4.13 Bug Fixes - [v3.4.13](/changelog/v3.4.13.md): Bug Fixes ### v3.4.2 Bug Fixes - [v3.4.2](/changelog/v3.4.2.md): Bug Fixes ### v3.4.3 Bug Fixes - [v3.4.3](/changelog/v3.4.3.md): Bug Fixes ### v3.4.4 Bug Fixes - [v3.4.4](/changelog/v3.4.4.md): Bug Fixes ### v3.4.5 Bug Fixes - [v3.4.5](/changelog/v3.4.5.md): Bug Fixes ### v3.4.6 Bug Fixes - [v3.4.6](/changelog/v3.4.6.md): Bug Fixes ### v3.4.7 Bug Fixes - [v3.4.7](/changelog/v3.4.7.md): Bug Fixes ### v3.4.8 Performance Improvements - [v3.4.8](/changelog/v3.4.8.md): Performance Improvements ### v3.4.9 Bug Fixes - [v3.4.9](/changelog/v3.4.9.md): Bug Fixes ### v3.5.0 Bug Fixes - [v3.5.0](/changelog/v3.5.0.md): Bug Fixes ### v3.5.1 Bug Fixes - [v3.5.1](/changelog/v3.5.1.md): Bug Fixes ### v3.5.2 Bug Fixes - [v3.5.2](/changelog/v3.5.2.md): Bug Fixes ### v3.5.3 Bug Fixes - [v3.5.3](/changelog/v3.5.3.md): Bug Fixes ### v3.6.0 Bug Fixes - [v3.6.0](/changelog/v3.6.0.md): Bug Fixes ### v3.6.1 Bug Fixes - [v3.6.1](/changelog/v3.6.1.md): Bug Fixes ### v3.7.0 Bug Fixes - [v3.7.0](/changelog/v3.7.0.md): Bug Fixes ### v3.7.1 Bug Fix - [v3.7.1](/changelog/v3.7.1.md): Bug Fix ### v3.7.2 Bug Fix - [v3.7.2](/changelog/v3.7.2.md): Bug Fix ### v3.7.3 Bug Fix - [v3.7.3](/changelog/v3.7.3.md): Bug Fix ### v3.7.4 Bug Fix - [v3.7.4](/changelog/v3.7.4.md): Bug Fix ### v3.8.0 New Feature - [v3.8.0](/changelog/v3.8.0.md): New Feature ### v3.8.1 Bug Fix - [v3.8.1](/changelog/v3.8.1.md): Bug Fix ### v3.8.2 Bug Fix - [v3.8.2](/changelog/v3.8.2.md): Bug Fix ### v3.8.3 Bug Fix - [v3.8.3](/changelog/v3.8.3.md): Bug Fix ### v3.8.4 Bug Fix - [v3.8.4](/changelog/v3.8.4.md): Bug Fix ### v3.9.0 New Feature - [v3.9.0](/changelog/v3.9.0.md): New Feature ### v3.9.1 Polish - [v3.9.1](/changelog/v3.9.1.md): Polish ### v3.9.2 Bug Fix - [v3.9.2](/changelog/v3.9.2.md): Bug Fix ### v3.9.3 Bug Fix - [v3.9.3](/changelog/v3.9.3.md): Bug Fix ### v3.9.4 Bug Fix - [v3.9.4](/changelog/v3.9.4.md): Bug Fix ### v3.9.5 Bug Fix - [v3.9.5](/changelog/v3.9.5.md): Bug Fix ### v3.9.6 Bug Fix - [v3.9.6](/changelog/v3.9.6.md): Bug Fix ### v3.9.7 Bug Fix - [v3.9.7](/changelog/v3.9.7.md): Bug Fix ### v3.9.8 Bug Fix - [v3.9.8](/changelog/v3.9.8.md): Bug Fix ### v3.9.9 Bug Fix - [v3.9.9](/changelog/v3.9.9.md): Bug Fix ### v4.0.0 Dependencies - [v4.0.0](/changelog/v4.0.0.md): Dependencies ### v4.0.0-beta.1 Breaking Change - [v4.0.0-beta.1](/changelog/v4.0.0-beta.1.md): Breaking Change ### v4.0.0-beta.10 New Feature - [v4.0.0-beta.10](/changelog/v4.0.0-beta.10.md): New Feature ### v4.0.0-beta.11 Bug Fix - [v4.0.0-beta.11](/changelog/v4.0.0-beta.11.md): Bug Fix ### v4.0.0-beta.12 Breaking Change - [v4.0.0-beta.12](/changelog/v4.0.0-beta.12.md): Breaking Change ### v4.0.0-beta.13 Bug Fix - [v4.0.0-beta.13](/changelog/v4.0.0-beta.13.md): Bug Fix ### v4.0.0-beta.14 New Feature - [v4.0.0-beta.14](/changelog/v4.0.0-beta.14.md): New Feature ### v4.0.0-beta.15 Bug Fix - [v4.0.0-beta.15](/changelog/v4.0.0-beta.15.md): Bug Fix ### v4.0.0-beta.16 New Feature - [v4.0.0-beta.16](/changelog/v4.0.0-beta.16.md): New Feature ### v4.0.0-beta.17 Bug Fix - [v4.0.0-beta.17](/changelog/v4.0.0-beta.17.md): Bug Fix ### v4.0.0-beta.2 Breaking Change - [v4.0.0-beta.2](/changelog/v4.0.0-beta.2.md): Breaking Change ### v4.0.0-beta.3 New Feature - [v4.0.0-beta.3](/changelog/v4.0.0-beta.3.md): New Feature ### v4.0.0-beta.4 Bug Fix - [v4.0.0-beta.4](/changelog/v4.0.0-beta.4.md): Bug Fix ### v4.0.0-beta.5 Polish - [v4.0.0-beta.5](/changelog/v4.0.0-beta.5.md): Polish ### v4.0.0-beta.6 Bug Fix - [v4.0.0-beta.6](/changelog/v4.0.0-beta.6.md): Bug Fix ### v4.0.0-beta.7 Bug Fix - [v4.0.0-beta.7](/changelog/v4.0.0-beta.7.md): Bug Fix ### v4.0.0-beta.8 Bug Fix - [v4.0.0-beta.8](/changelog/v4.0.0-beta.8.md): Bug Fix ### v4.0.0-beta.9 New Feature - [v4.0.0-beta.9](/changelog/v4.0.0-beta.9.md): New Feature ### v4.0.1 New Feature - [v4.0.1](/changelog/v4.0.1.md): New Feature ### v4.0.2 New Feature - [v4.0.2](/changelog/v4.0.2.md): New Feature ### v4.0.3 Bug Fix - [v4.0.3](/changelog/v4.0.3.md): Bug Fix ## index.layout 来源页面:index.tsx - [首页布局梳理(用于重设计)](/index.layout.md): 来源页面:index.tsx ## search - [在文档中搜索](/search.md) ## test-webcontainer 测试 WebContainer 组件 - [WebContainer 组件测试](/test-webcontainer.md): 测试 WebContainer 组件 ## tutorials 通过交互式教程学习 Midway.js 开发 - [🚧 教程中心 (开发中)](/tutorials.md): 通过交互式教程学习 Midway.js 开发 ### class-syntax 使用 IoC + 装饰器构建优雅的 Node.js 应用架构 - [🚧 Class 语法教程 (开发中)](/tutorials/class-syntax.md): 使用 IoC + 装饰器构建优雅的 Node.js 应用架构 ### function-syntax 使用函数 + Hooks 进行快速全栈应用开发 - [🚧 Function 语法教程 (开发中)](/tutorials/function-syntax.md): 使用函数 + Hooks 进行快速全栈应用开发 ## api - [API](/api.md) ### 3.0.0 - [API](/api/3.0.0.md) #### async-hooks-context-manager - [@midwayjs/async-hooks-context-manager](/api/3.0.0/async-hooks-context-manager.md) - [AsyncHooksContextManager](/api/3.0.0/async-hooks-context-manager/class/AsyncHooksContextManager.md) - [AsyncLocalStorageContextManager](/api/3.0.0/async-hooks-context-manager/class/AsyncLocalStorageContextManager.md) - [createContextManager](/api/3.0.0/async-hooks-context-manager/function/createContextManager.md) - [isSemverGreaterThanOrEqualTo](/api/3.0.0/async-hooks-context-manager/function/isSemverGreaterThanOrEqualTo.md) #### axios - [@midwayjs/axios](/api/3.0.0/axios.md) - [Configuration](/api/3.0.0/axios/class/Configuration.md) - [HttpService](/api/3.0.0/axios/class/HttpService.md) - [HttpServiceFactory](/api/3.0.0/axios/class/HttpServiceFactory.md) - [AxiosRequestConfig ](/api/3.0.0/axios/interface/AxiosRequestConfig.md): Interface for custom axios request config merging. - [AxiosResponse ](/api/3.0.0/axios/interface/AxiosResponse.md) #### bootstrap - [@midwayjs/bootstrap](/api/3.0.0/bootstrap.md) - [abstractAbstractForkManager ](/api/3.0.0/bootstrap/class/AbstractForkManager.md) - [Bootstrap](/api/3.0.0/bootstrap/class/Bootstrap.md) - [BootstrapStarter](/api/3.0.0/bootstrap/class/BootstrapStarter.md) - [ClusterManager](/api/3.0.0/bootstrap/class/ClusterManager.md) - [setupStickyMaster](/api/3.0.0/bootstrap/function/setupStickyMaster.md) - [ForkOptions](/api/3.0.0/bootstrap/interface/ForkOptions.md) - [IForkManager ](/api/3.0.0/bootstrap/interface/IForkManager.md) #### bull - [@midwayjs/bull](/api/3.0.0/bull.md) - [BullQueue](/api/3.0.0/bull/class/BullQueue.md) - [Configuration](/api/3.0.0/bull/class/Configuration.md) - [Framework](/api/3.0.0/bull/class/Framework.md) - [InjectQueue](/api/3.0.0/bull/function/InjectQueue.md) - [Processor](/api/3.0.0/bull/function/Processor.md) - [Application](/api/3.0.0/bull/interface/Application.md) - [Context](/api/3.0.0/bull/interface/Context.md) - [IProcessor](/api/3.0.0/bull/interface/IProcessor.md) - [IQueue ](/api/3.0.0/bull/interface/IQueue.md) - [IQueueManager ](/api/3.0.0/bull/interface/IQueueManager.md) #### bull-board - [@midwayjs/bull-board](/api/3.0.0/bull-board.md) - [BoardMiddleware](/api/3.0.0/bull-board/class/BoardMiddleware.md) - [BullBoardManager](/api/3.0.0/bull-board/class/BullBoardManager.md) - [Configuration](/api/3.0.0/bull-board/class/Configuration.md) - [MidwayAdapter](/api/3.0.0/bull-board/class/MidwayAdapter.md) - [BullBoardOption](/api/3.0.0/bull-board/interface/BullBoardOption.md) #### captcha - [@midwayjs/captcha](/api/3.0.0/captcha.md) - [CaptchaService](/api/3.0.0/captcha/class/CaptchaService.md) - [Configuration](/api/3.0.0/captcha/class/Configuration.md) - [CaptchaCacheOptions](/api/3.0.0/captcha/interface/CaptchaCacheOptions.md) - [CaptchaOptions](/api/3.0.0/captcha/interface/CaptchaOptions.md) - [FormulaCaptchaOptions](/api/3.0.0/captcha/interface/FormulaCaptchaOptions.md) - [ImageCaptchaOptions](/api/3.0.0/captcha/interface/ImageCaptchaOptions.md) - [TextCaptchaOptions](/api/3.0.0/captcha/interface/TextCaptchaOptions.md) #### casbin - [@midwayjs/casbin](/api/3.0.0/casbin.md) - [AuthGuard](/api/3.0.0/casbin/class/AuthGuard.md) - [abstractBaseAdapter ](/api/3.0.0/casbin/class/BaseAdapter.md) - [CasbinEnforcerService](/api/3.0.0/casbin/class/CasbinEnforcerService.md) - [Configuration](/api/3.0.0/casbin/class/Configuration.md) - [AuthAction](/api/3.0.0/casbin/enum/AuthAction.md) - [AuthActionVerb](/api/3.0.0/casbin/enum/AuthActionVerb.md) - [AuthPossession](/api/3.0.0/casbin/enum/AuthPossession.md) - [UsePermission](/api/3.0.0/casbin/function/UsePermission.md) - [CasbinConfigOptions](/api/3.0.0/casbin/interface/CasbinConfigOptions.md) - [Permission](/api/3.0.0/casbin/interface/Permission.md) #### casbin-redis-adapter - [@midwayjs/casbin-redis-adapter](/api/3.0.0/casbin-redis-adapter.md) - [abstractBaseWatcher ](/api/3.0.0/casbin-redis-adapter/class/BaseWatcher.md) - [NodeRedisAdapter](/api/3.0.0/casbin-redis-adapter/class/NodeRedisAdapter.md) - [NodeRedisWatcher](/api/3.0.0/casbin-redis-adapter/class/NodeRedisWatcher.md) - [createAdapter](/api/3.0.0/casbin-redis-adapter/function/createAdapter.md) - [createWatcher](/api/3.0.0/casbin-redis-adapter/function/createWatcher.md) #### casbin-typeorm-adapter - [@midwayjs/casbin-typeorm-adapter](/api/3.0.0/casbin-typeorm-adapter.md) - [CasbinMongoRule](/api/3.0.0/casbin-typeorm-adapter/class/CasbinMongoRule.md) - [CasbinRule](/api/3.0.0/casbin-typeorm-adapter/class/CasbinRule.md) - [TypeORMAdapter](/api/3.0.0/casbin-typeorm-adapter/class/TypeORMAdapter.md): TypeORMAdapter represents the TypeORM filtered adapter for policy storage. - [createAdapter](/api/3.0.0/casbin-typeorm-adapter/function/createAdapter.md) #### code-dye - [@midwayjs/code-dye](/api/3.0.0/code-dye.md) - [CodeDyeMW](/api/3.0.0/code-dye/class/CodeDyeMW.md) - [Configuration](/api/3.0.0/code-dye/class/Configuration.md) - [CodeDyeOptions](/api/3.0.0/code-dye/interface/CodeDyeOptions.md) #### consul - [@midwayjs/consul](/api/3.0.0/consul.md) - [BalancerService](/api/3.0.0/consul/class/BalancerService.md) - [Configuration](/api/3.0.0/consul/class/Configuration.md) - [ConsulController](/api/3.0.0/consul/class/ConsulController.md) - [ConsulConfig](/api/3.0.0/consul/interface/ConsulConfig.md) - [IConsulBalancer](/api/3.0.0/consul/interface/IConsulBalancer.md) - [IConsulProviderInfoOptions](/api/3.0.0/consul/interface/IConsulProviderInfoOptions.md) - [IConsulRegisterInfoOptions](/api/3.0.0/consul/interface/IConsulRegisterInfoOptions.md) - [IServiceBalancer](/api/3.0.0/consul/interface/IServiceBalancer.md) #### core - [@midwayjs/core](/api/3.0.0/core.md) - [abstractAbstractFileDetector ](/api/3.0.0/core/class/AbstractFileDetector.md) - [abstractBaseFramework ](/api/3.0.0/core/class/BaseFramework.md) - [CommonJSFileDetector](/api/3.0.0/core/class/CommonJSFileDetector.md): CommonJS module loader - [ContextMiddlewareManager ](/api/3.0.0/core/class/ContextMiddlewareManager.md) - [CustomModuleDetector](/api/3.0.0/core/class/CustomModuleDetector.md) - [abstractDataListener ](/api/3.0.0/core/class/DataListener.md) - [abstractDataSourceManager ](/api/3.0.0/core/class/DataSourceManager.md) - [DecoratorManager](/api/3.0.0/core/class/DecoratorManager.md) - [DefaultConsoleLoggerFactory](/api/3.0.0/core/class/DefaultConsoleLoggerFactory.md) - [ESModuleFileDetector](/api/3.0.0/core/class/ESModuleFileDetector.md): ES module loader - [FilterManager ](/api/3.0.0/core/class/FilterManager.md) - [abstractFrameworkType](/api/3.0.0/core/class/FrameworkType.md) - [FunctionalConfiguration](/api/3.0.0/core/class/FunctionalConfiguration.md) - [HttpClient](/api/3.0.0/core/class/HttpClient.md): A simple http client - [HttpServerResponse ](/api/3.0.0/core/class/HttpServerResponse.md) - [abstractLoggerFactory ](/api/3.0.0/core/class/LoggerFactory.md) - [MidwayApplicationManager](/api/3.0.0/core/class/MidwayApplicationManager.md) - [MidwayAspectService](/api/3.0.0/core/class/MidwayAspectService.md) - [MidwayCodeInvokeTimeoutError](/api/3.0.0/core/class/MidwayCodeInvokeTimeoutError.md) - [MidwayCommonError](/api/3.0.0/core/class/MidwayCommonError.md) - [MidwayConfigMissingError](/api/3.0.0/core/class/MidwayConfigMissingError.md) - [MidwayConfigService](/api/3.0.0/core/class/MidwayConfigService.md) - [MidwayContainer](/api/3.0.0/core/class/MidwayContainer.md): Abstract Object Factory 对象容器抽象 - [MidwayDecoratorService](/api/3.0.0/core/class/MidwayDecoratorService.md) - [MidwayDefinitionNotFoundError](/api/3.0.0/core/class/MidwayDefinitionNotFoundError.md) - [MidwayDuplicateClassNameError](/api/3.0.0/core/class/MidwayDuplicateClassNameError.md) - [MidwayDuplicateControllerOptionsError](/api/3.0.0/core/class/MidwayDuplicateControllerOptionsError.md) - [MidwayDuplicateRouteError](/api/3.0.0/core/class/MidwayDuplicateRouteError.md) - [MidwayEmptyValueError](/api/3.0.0/core/class/MidwayEmptyValueError.md) - [MidwayEnvironmentService](/api/3.0.0/core/class/MidwayEnvironmentService.md) - [MidwayError](/api/3.0.0/core/class/MidwayError.md) - [MidwayFeatureNoLongerSupportedError](/api/3.0.0/core/class/MidwayFeatureNoLongerSupportedError.md) - [MidwayFeatureNotImplementedError](/api/3.0.0/core/class/MidwayFeatureNotImplementedError.md) - [MidwayFrameworkService](/api/3.0.0/core/class/MidwayFrameworkService.md) - [MidwayFrameworkType](/api/3.0.0/core/class/MidwayFrameworkType.md) - [MidwayHealthService](/api/3.0.0/core/class/MidwayHealthService.md) - [MidwayHttpError](/api/3.0.0/core/class/MidwayHttpError.md) - [MidwayInconsistentVersionError](/api/3.0.0/core/class/MidwayInconsistentVersionError.md) - [MidwayInformationService](/api/3.0.0/core/class/MidwayInformationService.md) - [MidwayInvalidConfigError](/api/3.0.0/core/class/MidwayInvalidConfigError.md) - [MidwayInvalidConfigPropertyError](/api/3.0.0/core/class/MidwayInvalidConfigPropertyError.md) - [MidwayInvokeForbiddenError](/api/3.0.0/core/class/MidwayInvokeForbiddenError.md) - [MidwayLifeCycleService](/api/3.0.0/core/class/MidwayLifeCycleService.md) - [MidwayLoggerService](/api/3.0.0/core/class/MidwayLoggerService.md): 多客户端工厂实现 - [MidwayMainFrameworkMissingError](/api/3.0.0/core/class/MidwayMainFrameworkMissingError.md) - [MidwayMiddlewareService ](/api/3.0.0/core/class/MidwayMiddlewareService.md) - [MidwayMissingImportComponentError](/api/3.0.0/core/class/MidwayMissingImportComponentError.md) - [MidwayMockService](/api/3.0.0/core/class/MidwayMockService.md) - [MidwayParameterError](/api/3.0.0/core/class/MidwayParameterError.md) - [MidwayPerformanceManager](/api/3.0.0/core/class/MidwayPerformanceManager.md) - [MidwayPipelineService](/api/3.0.0/core/class/MidwayPipelineService.md) - [MidwayPriorityManager](/api/3.0.0/core/class/MidwayPriorityManager.md) - [MidwayRequestContainer](/api/3.0.0/core/class/MidwayRequestContainer.md): Abstract Object Factory 对象容器抽象 - [MidwayResolverMissingError](/api/3.0.0/core/class/MidwayResolverMissingError.md) - [MidwayRetryExceededMaxTimesError](/api/3.0.0/core/class/MidwayRetryExceededMaxTimesError.md) - [MidwayServerlessFunctionService](/api/3.0.0/core/class/MidwayServerlessFunctionService.md) - [MidwaySingletonInjectRequestError](/api/3.0.0/core/class/MidwaySingletonInjectRequestError.md) - [MidwayUseWrongMethodError](/api/3.0.0/core/class/MidwayUseWrongMethodError.md) - [MidwayUtilHttpClientTimeoutError](/api/3.0.0/core/class/MidwayUtilHttpClientTimeoutError.md) - [MidwayWebRouterService](/api/3.0.0/core/class/MidwayWebRouterService.md) - [PipelineContext](/api/3.0.0/core/class/PipelineContext.md): 执行pipeline 时当前上下文存储内容 - [ServerResponse ](/api/3.0.0/core/class/ServerResponse.md) - [abstractServiceFactory ](/api/3.0.0/core/class/ServiceFactory.md): 多客户端工厂实现 - [TypedResourceManager ](/api/3.0.0/core/class/TypedResourceManager.md) - [abstractWebControllerGenerator ](/api/3.0.0/core/class/WebControllerGenerator.md) - [WebRouterCollector](/api/3.0.0/core/class/WebRouterCollector.md) - [BaseType](/api/3.0.0/core/enum/BaseType.md) - [GrpcStreamTypeEnum](/api/3.0.0/core/enum/GrpcStreamTypeEnum.md) - [HttpStatus](/api/3.0.0/core/enum/HttpStatus.md) - [InjectModeEnum](/api/3.0.0/core/enum/InjectModeEnum.md) - [MidwayProcessTypeEnum](/api/3.0.0/core/enum/MidwayProcessTypeEnum.md) - [MSListenerType](/api/3.0.0/core/enum/MSListenerType.md) - [MSProviderType](/api/3.0.0/core/enum/MSProviderType.md) - [ObjectLifeCycleEvent](/api/3.0.0/core/enum/ObjectLifeCycleEvent.md) - [RouteParamTypes](/api/3.0.0/core/enum/RouteParamTypes.md) - [ScopeEnum](/api/3.0.0/core/enum/ScopeEnum.md) - [ServerlessTriggerType](/api/3.0.0/core/enum/ServerlessTriggerType.md) - [WSEventTypeEnum](/api/3.0.0/core/enum/WSEventTypeEnum.md) - [All](/api/3.0.0/core/function/All.md) - [App](/api/3.0.0/core/function/App.md) - [ApplicationContext](/api/3.0.0/core/function/ApplicationContext.md) - [Aspect](/api/3.0.0/core/function/Aspect.md) - [attachClassMetadata](/api/3.0.0/core/function/attachClassMetadata.md) - [attachPropertyDataToClass](/api/3.0.0/core/function/attachPropertyDataToClass.md) - [attachPropertyMetadata](/api/3.0.0/core/function/attachPropertyMetadata.md) - [Autoload](/api/3.0.0/core/function/Autoload.md) - [bindContainer](/api/3.0.0/core/function/bindContainer.md) - [Body](/api/3.0.0/core/function/Body.md) - [Catch](/api/3.0.0/core/function/Catch.md) - [clearAllModule](/api/3.0.0/core/function/clearAllModule.md) - [clearBindContainer](/api/3.0.0/core/function/clearBindContainer.md) - [Config](/api/3.0.0/core/function/Config.md) - [Configuration](/api/3.0.0/core/function/Configuration.md) - [Consumer](/api/3.0.0/core/function/Consumer.md) - [ContentType](/api/3.0.0/core/function/ContentType.md) - [Controller](/api/3.0.0/core/function/Controller.md) - [createConfiguration](/api/3.0.0/core/function/createConfiguration.md) - [createCustomMethodDecorator](/api/3.0.0/core/function/createCustomMethodDecorator.md) - [createCustomParamDecorator](/api/3.0.0/core/function/createCustomParamDecorator.md) - [createCustomPropertyDecorator](/api/3.0.0/core/function/createCustomPropertyDecorator.md) - [createMiddleware](/api/3.0.0/core/function/createMiddleware.md) - [createRender](/api/3.0.0/core/function/createRender.md) - [createRequestParamDecorator](/api/3.0.0/core/function/createRequestParamDecorator.md) - [Del](/api/3.0.0/core/function/Del.md) - [delegateTargetAllPrototypeMethod](/api/3.0.0/core/function/delegateTargetAllPrototypeMethod.md) - [delegateTargetMethod](/api/3.0.0/core/function/delegateTargetMethod.md) - [delegateTargetProperties](/api/3.0.0/core/function/delegateTargetProperties.md) - [delegateTargetPrototypeMethod](/api/3.0.0/core/function/delegateTargetPrototypeMethod.md) - [deprecatedOutput](/api/3.0.0/core/function/deprecatedOutput.md) - [Destroy](/api/3.0.0/core/function/Destroy.md) - [destroyGlobalApplicationContext](/api/3.0.0/core/function/destroyGlobalApplicationContext.md) - [DubboMethod](/api/3.0.0/core/function/DubboMethod.md) - [Emit](/api/3.0.0/core/function/Emit.md) - [extend](/api/3.0.0/core/function/extend.md) - [extractExpressLikeValue](/api/3.0.0/core/function/extractExpressLikeValue.md) - [extractKoaLikeValue](/api/3.0.0/core/function/extractKoaLikeValue.md) - [Fields](/api/3.0.0/core/function/Fields.md) - [File](/api/3.0.0/core/function/File.md) - [Files](/api/3.0.0/core/function/Files.md) - [Framework](/api/3.0.0/core/function/Framework.md) - [Get](/api/3.0.0/core/function/Get.md) - [getClassExtendedMetadata](/api/3.0.0/core/function/getClassExtendedMetadata.md) - [getClassMetadata](/api/3.0.0/core/function/getClassMetadata.md) - [getCurrentApplicationContext](/api/3.0.0/core/function/getCurrentApplicationContext.md) - [getCurrentAsyncContextManager](/api/3.0.0/core/function/getCurrentAsyncContextManager.md) - [getCurrentMainApp](/api/3.0.0/core/function/getCurrentMainApp.md) - [getCurrentMainFramework](/api/3.0.0/core/function/getCurrentMainFramework.md) - [getMethodParamTypes](/api/3.0.0/core/function/getMethodParamTypes.md) - [getMethodReturnTypes](/api/3.0.0/core/function/getMethodReturnTypes.md) - [getObjectDefinition](/api/3.0.0/core/function/getObjectDefinition.md) - [getPropertyDataFromClass](/api/3.0.0/core/function/getPropertyDataFromClass.md) - [getPropertyInject](/api/3.0.0/core/function/getPropertyInject.md) - [getPropertyMetadata](/api/3.0.0/core/function/getPropertyMetadata.md) - [getPropertyType](/api/3.0.0/core/function/getPropertyType.md) - [getProviderId](/api/3.0.0/core/function/getProviderId.md) - [getProviderName](/api/3.0.0/core/function/getProviderName.md) - [getProviderUUId](/api/3.0.0/core/function/getProviderUUId.md) - [GrpcMethod](/api/3.0.0/core/function/GrpcMethod.md) - [Guard](/api/3.0.0/core/function/Guard.md) - [Head](/api/3.0.0/core/function/Head.md) - [Headers](/api/3.0.0/core/function/Headers.md) - [HSF](/api/3.0.0/core/function/HSF.md) - [HttpCode](/api/3.0.0/core/function/HttpCode.md) - [Init](/api/3.0.0/core/function/Init.md) - [initializeGlobalApplicationContext](/api/3.0.0/core/function/initializeGlobalApplicationContext.md) - [Inject](/api/3.0.0/core/function/Inject.md) - [InjectClient](/api/3.0.0/core/function/InjectClient.md) - [isProvide](/api/3.0.0/core/function/isProvide.md) - [isTypeScriptEnvironment](/api/3.0.0/core/function/isTypeScriptEnvironment.md) - [KafkaListener](/api/3.0.0/core/function/KafkaListener.md) - [listModule](/api/3.0.0/core/function/listModule.md) - [listPreloadModule](/api/3.0.0/core/function/listPreloadModule.md) - [listPropertyDataFromClass](/api/3.0.0/core/function/listPropertyDataFromClass.md) - [loadModule](/api/3.0.0/core/function/loadModule.md) - [Logger](/api/3.0.0/core/function/Logger.md) - [makeHttpRequest](/api/3.0.0/core/function/makeHttpRequest.md) - [Match](/api/3.0.0/core/function/Match.md) - [Middleware](/api/3.0.0/core/function/Middleware.md) - [Mock](/api/3.0.0/core/function/Mock.md) - [OnConnection](/api/3.0.0/core/function/OnConnection.md) - [OnDisConnection](/api/3.0.0/core/function/OnDisConnection.md) - [OnMessage](/api/3.0.0/core/function/OnMessage.md) - [OnWSConnection](/api/3.0.0/core/function/OnWSConnection.md) - [OnWSDisConnection](/api/3.0.0/core/function/OnWSDisConnection.md) - [OnWSMessage](/api/3.0.0/core/function/OnWSMessage.md) - [Options](/api/3.0.0/core/function/Options.md) - [Param](/api/3.0.0/core/function/Param.md) - [Patch](/api/3.0.0/core/function/Patch.md) - [pathMatching](/api/3.0.0/core/function/pathMatching.md) - [Pipe](/api/3.0.0/core/function/Pipe.md) - [Pipeline](/api/3.0.0/core/function/Pipeline.md) - [Plugin](/api/3.0.0/core/function/Plugin.md) - [Post](/api/3.0.0/core/function/Post.md) - [prepareGlobalApplicationContext](/api/3.0.0/core/function/prepareGlobalApplicationContext.md) - [prepareGlobalApplicationContextAsync](/api/3.0.0/core/function/prepareGlobalApplicationContextAsync.md) - [Provide](/api/3.0.0/core/function/Provide.md) - [Provider](/api/3.0.0/core/function/Provider.md) - [providerWrapper](/api/3.0.0/core/function/providerWrapper.md) - [Put](/api/3.0.0/core/function/Put.md) - [Queries](/api/3.0.0/core/function/Queries.md) - [Query](/api/3.0.0/core/function/Query.md) - [Queue](/api/3.0.0/core/function/Queue.md) - [RabbitMQListener](/api/3.0.0/core/function/RabbitMQListener.md) - [Redirect](/api/3.0.0/core/function/Redirect.md) - [registerErrorCode](/api/3.0.0/core/function/registerErrorCode.md) - [RequestIP](/api/3.0.0/core/function/RequestIP.md) - [RequestMapping](/api/3.0.0/core/function/RequestMapping.md) - [RequestPath](/api/3.0.0/core/function/RequestPath.md) - [resetModule](/api/3.0.0/core/function/resetModule.md) - [retryWith](/api/3.0.0/core/function/retryWith.md) - [retryWithAsync](/api/3.0.0/core/function/retryWithAsync.md) - [safelyGet](/api/3.0.0/core/function/safelyGet.md) - [safeRequire](/api/3.0.0/core/function/safeRequire.md) - [saveClassMetadata](/api/3.0.0/core/function/saveClassMetadata.md) - [saveModule](/api/3.0.0/core/function/saveModule.md) - [saveObjectDefinition](/api/3.0.0/core/function/saveObjectDefinition.md) - [savePreloadModule](/api/3.0.0/core/function/savePreloadModule.md) - [savePropertyDataToClass](/api/3.0.0/core/function/savePropertyDataToClass.md) - [savePropertyInject](/api/3.0.0/core/function/savePropertyInject.md) - [savePropertyMetadata](/api/3.0.0/core/function/savePropertyMetadata.md) - [saveProviderId](/api/3.0.0/core/function/saveProviderId.md) - [Schedule](/api/3.0.0/core/function/Schedule.md) - [Scope](/api/3.0.0/core/function/Scope.md) - [ServerlessFunction](/api/3.0.0/core/function/ServerlessFunction.md) - [ServerlessTrigger](/api/3.0.0/core/function/ServerlessTrigger.md) - [Session](/api/3.0.0/core/function/Session.md) - [SetHeader](/api/3.0.0/core/function/SetHeader.md) - [Singleton](/api/3.0.0/core/function/Singleton.md) - [sleep](/api/3.0.0/core/function/sleep.md) - [Task](/api/3.0.0/core/function/Task.md) - [TaskLocal](/api/3.0.0/core/function/TaskLocal.md) - [transformRequestObjectByType](/api/3.0.0/core/function/transformRequestObjectByType.md) - [transformTypeFromTSDesign](/api/3.0.0/core/function/transformTypeFromTSDesign.md) - [UseGuard](/api/3.0.0/core/function/UseGuard.md) - [wrapAsync](/api/3.0.0/core/function/wrapAsync.md) - [wrapMiddleware](/api/3.0.0/core/function/wrapMiddleware.md) - [WSBroadCast](/api/3.0.0/core/function/WSBroadCast.md) - [WSController](/api/3.0.0/core/function/WSController.md) - [WSEmit](/api/3.0.0/core/function/WSEmit.md) - [AspectMetadata](/api/3.0.0/core/interface/AspectMetadata.md) - [AsyncContext](/api/3.0.0/core/interface/AsyncContext.md) - [AsyncContextManager](/api/3.0.0/core/interface/AsyncContextManager.md) - [CommonSchedule](/api/3.0.0/core/interface/CommonSchedule.md) - [Context](/api/3.0.0/core/interface/Context.md) - [ControllerOption](/api/3.0.0/core/interface/ControllerOption.md) - [HealthResult](/api/3.0.0/core/interface/HealthResult.md) - [HealthResults](/api/3.0.0/core/interface/HealthResults.md) - [HSFOpts](/api/3.0.0/core/interface/HSFOpts.md) - [HttpClientOptions ](/api/3.0.0/core/interface/HttpClientOptions.md) - [HttpClientResponse ](/api/3.0.0/core/interface/HttpClientResponse.md) - [IComponentInfo](/api/3.0.0/core/interface/IComponentInfo.md) - [IConfigService](/api/3.0.0/core/interface/IConfigService.md) - [IConfigurationOptions](/api/3.0.0/core/interface/IConfigurationOptions.md) - [IEnvironmentService](/api/3.0.0/core/interface/IEnvironmentService.md) - [IFileDetector](/api/3.0.0/core/interface/IFileDetector.md) - [IFilter ](/api/3.0.0/core/interface/IFilter.md): Common Exception Filter definition - [IGuard ](/api/3.0.0/core/interface/IGuard.md): Guard definition - [IIdentifierRelationShip](/api/3.0.0/core/interface/IIdentifierRelationShip.md) - [IInformationService](/api/3.0.0/core/interface/IInformationService.md) - [ILifeCycle](/api/3.0.0/core/interface/ILifeCycle.md): Lifecycle Definition 生命周期定义 - [ILogger](/api/3.0.0/core/interface/ILogger.md): Logger Options for midway, you can merge this interface in package - [IManagedInstance](/api/3.0.0/core/interface/IManagedInstance.md): 内部管理的属性、json、ref等解析实例存储 - [IManagedResolver](/api/3.0.0/core/interface/IManagedResolver.md): 解析内部管理的属性、json、ref等实例的解析器 同时创建这些对象的实际使用的对象 - [IManagedResolverFactoryCreateOptions](/api/3.0.0/core/interface/IManagedResolverFactoryCreateOptions.md) - [IMethodAspect](/api/3.0.0/core/interface/IMethodAspect.md) - [IMiddleware ](/api/3.0.0/core/interface/IMiddleware.md): Common middleware definition - [IMiddlewareManager ](/api/3.0.0/core/interface/IMiddlewareManager.md) - [IMidwayBaseApplication ](/api/3.0.0/core/interface/IMidwayBaseApplication.md) - [IMidwayBootstrapOptions](/api/3.0.0/core/interface/IMidwayBootstrapOptions.md) - [IMidwayContainer](/api/3.0.0/core/interface/IMidwayContainer.md): Abstract Object Factory 对象容器抽象 - [IMidwayFramework ](/api/3.0.0/core/interface/IMidwayFramework.md) - [IModuleStore](/api/3.0.0/core/interface/IModuleStore.md) - [InjectionConfigurationOptions](/api/3.0.0/core/interface/InjectionConfigurationOptions.md) - [IObjectCreator](/api/3.0.0/core/interface/IObjectCreator.md) - [IObjectDefinition](/api/3.0.0/core/interface/IObjectDefinition.md): Object Definition 对象描述定义 - [IObjectDefinitionRegistry](/api/3.0.0/core/interface/IObjectDefinitionRegistry.md): Object Definition Registry 对象定义存储容器 - [IObjectFactory](/api/3.0.0/core/interface/IObjectFactory.md): Abstract Object Factory 对象容器抽象 - [IObjectLifeCycle](/api/3.0.0/core/interface/IObjectLifeCycle.md): Object Lifecycle 对象生命周期 - [IPipelineContext](/api/3.0.0/core/interface/IPipelineContext.md): 执行pipeline 时当前上下文存储内容 - [IPipelineHandler](/api/3.0.0/core/interface/IPipelineHandler.md) - [IPipelineOptions](/api/3.0.0/core/interface/IPipelineOptions.md): pipeline 执行参数 - [IPipelineResult ](/api/3.0.0/core/interface/IPipelineResult.md): pipeline 执行返回结果 - [IProperties](/api/3.0.0/core/interface/IProperties.md): 属性配置抽象 - [IServiceFactory ](/api/3.0.0/core/interface/IServiceFactory.md) - [ISimulation](/api/3.0.0/core/interface/ISimulation.md) - [IValveHandler](/api/3.0.0/core/interface/IValveHandler.md): 每个具体的 valve 需要继承实现该接口 - [JoinPoint](/api/3.0.0/core/interface/JoinPoint.md) - [KafkaListenerOptions](/api/3.0.0/core/interface/KafkaListenerOptions.md) - [MethodDecoratorMetaData ](/api/3.0.0/core/interface/MethodDecoratorMetaData.md) - [MethodDecoratorOptions](/api/3.0.0/core/interface/MethodDecoratorOptions.md) - [MidwayAppInfo](/api/3.0.0/core/interface/MidwayAppInfo.md) - [MidwayConfig](/api/3.0.0/core/interface/MidwayConfig.md): midway global config definition - [MidwayCoreDefaultConfig](/api/3.0.0/core/interface/MidwayCoreDefaultConfig.md) - [MidwayLoggerOptions](/api/3.0.0/core/interface/MidwayLoggerOptions.md): Logger Options for midway, you can merge this interface in package - [ObjectBeforeBindOptions](/api/3.0.0/core/interface/ObjectBeforeBindOptions.md) - [ObjectBeforeCreatedOptions](/api/3.0.0/core/interface/ObjectBeforeCreatedOptions.md) - [ObjectBeforeDestroyOptions](/api/3.0.0/core/interface/ObjectBeforeDestroyOptions.md) - [ObjectCreatedOptions ](/api/3.0.0/core/interface/ObjectCreatedOptions.md) - [ObjectDefinitionOptions](/api/3.0.0/core/interface/ObjectDefinitionOptions.md) - [ObjectInitOptions](/api/3.0.0/core/interface/ObjectInitOptions.md) - [ParamDecoratorOptions](/api/3.0.0/core/interface/ParamDecoratorOptions.md) - [ParameterDecoratorMetaData ](/api/3.0.0/core/interface/ParameterDecoratorMetaData.md) - [PipeTransform ](/api/3.0.0/core/interface/PipeTransform.md) - [RabbitMQListenerOptions](/api/3.0.0/core/interface/RabbitMQListenerOptions.md) - [ReflectResult](/api/3.0.0/core/interface/ReflectResult.md) - [ResolveFilter](/api/3.0.0/core/interface/ResolveFilter.md) - [RouterCollectorOptions](/api/3.0.0/core/interface/RouterCollectorOptions.md) - [RouterInfo](/api/3.0.0/core/interface/RouterInfo.md) - [RouterOption](/api/3.0.0/core/interface/RouterOption.md) - [RouterParamValue](/api/3.0.0/core/interface/RouterParamValue.md) - [RouterPriority](/api/3.0.0/core/interface/RouterPriority.md) - [ScheduleOpts](/api/3.0.0/core/interface/ScheduleOpts.md) - [ServerSendEventMessage](/api/3.0.0/core/interface/ServerSendEventMessage.md) - [ServerSendEventStreamOptions ](/api/3.0.0/core/interface/ServerSendEventStreamOptions.md) - [ServerStreamOptions ](/api/3.0.0/core/interface/ServerStreamOptions.md) - [TagClsMetadata](/api/3.0.0/core/interface/TagClsMetadata.md) - [TagPropsMetadata](/api/3.0.0/core/interface/TagPropsMetadata.md) - [TransformOptions ](/api/3.0.0/core/interface/TransformOptions.md) - [TSDesignType ](/api/3.0.0/core/interface/TSDesignType.md) - [WSControllerOption](/api/3.0.0/core/interface/WSControllerOption.md) - [WSEventInfo](/api/3.0.0/core/interface/WSEventInfo.md) - [ConsumerMetadata](/api/3.0.0/core/namespace/ConsumerMetadata.md) - [FaaSMetadata](/api/3.0.0/core/namespace/FaaSMetadata.md) - [GRPCMetadata](/api/3.0.0/core/namespace/GRPCMetadata.md): grpc decorator metadata format #### cos - [@midwayjs/cos](/api/3.0.0/cos.md) - [Configuration](/api/3.0.0/cos/class/Configuration.md) - [COSService](/api/3.0.0/cos/class/COSService.md) - [COSServiceFactory](/api/3.0.0/cos/class/COSServiceFactory.md) #### cron - [@midwayjs/cron](/api/3.0.0/cron.md) - [Configuration](/api/3.0.0/cron/class/Configuration.md) - [Framework](/api/3.0.0/cron/class/Framework.md) - [InjectJob](/api/3.0.0/cron/function/InjectJob.md) - [Job](/api/3.0.0/cron/function/Job.md) - [Application](/api/3.0.0/cron/interface/Application.md) - [Context](/api/3.0.0/cron/interface/Context.md) - [CronOptions](/api/3.0.0/cron/interface/CronOptions.md) - [IJob](/api/3.0.0/cron/interface/IJob.md) #### cross-domain - [@midwayjs/cross-domain](/api/3.0.0/cross-domain.md) - [Configuration](/api/3.0.0/cross-domain/class/Configuration.md) - [CorsMiddleware](/api/3.0.0/cross-domain/class/CorsMiddleware.md) - [JSONPFilter](/api/3.0.0/cross-domain/class/JSONPFilter.md) - [JSONPMiddleware](/api/3.0.0/cross-domain/class/JSONPMiddleware.md) - [JSONPService](/api/3.0.0/cross-domain/class/JSONPService.md) - [CORSOptions](/api/3.0.0/cross-domain/interface/CORSOptions.md) - [JSONPOptions](/api/3.0.0/cross-domain/interface/JSONPOptions.md) #### decorator - [@midwayjs/decorator](/api/3.0.0/decorator.md) - [DecoratorManager](/api/3.0.0/decorator/class/DecoratorManager.md) - [abstractFrameworkType](/api/3.0.0/decorator/class/FrameworkType.md) - [MidwayFrameworkType](/api/3.0.0/decorator/class/MidwayFrameworkType.md) - [BaseType](/api/3.0.0/decorator/enum/BaseType.md) - [GrpcStreamTypeEnum](/api/3.0.0/decorator/enum/GrpcStreamTypeEnum.md) - [InjectModeEnum](/api/3.0.0/decorator/enum/InjectModeEnum.md) - [MSListenerType](/api/3.0.0/decorator/enum/MSListenerType.md) - [MSProviderType](/api/3.0.0/decorator/enum/MSProviderType.md) - [RouteParamTypes](/api/3.0.0/decorator/enum/RouteParamTypes.md) - [ScopeEnum](/api/3.0.0/decorator/enum/ScopeEnum.md) - [ServerlessTriggerType](/api/3.0.0/decorator/enum/ServerlessTriggerType.md) - [WSEventTypeEnum](/api/3.0.0/decorator/enum/WSEventTypeEnum.md) - [All](/api/3.0.0/decorator/function/All.md) - [App](/api/3.0.0/decorator/function/App.md) - [ApplicationContext](/api/3.0.0/decorator/function/ApplicationContext.md) - [Aspect](/api/3.0.0/decorator/function/Aspect.md) - [attachClassMetadata](/api/3.0.0/decorator/function/attachClassMetadata.md) - [attachPropertyDataToClass](/api/3.0.0/decorator/function/attachPropertyDataToClass.md) - [attachPropertyMetadata](/api/3.0.0/decorator/function/attachPropertyMetadata.md) - [Autoload](/api/3.0.0/decorator/function/Autoload.md) - [bindContainer](/api/3.0.0/decorator/function/bindContainer.md) - [Body](/api/3.0.0/decorator/function/Body.md) - [Catch](/api/3.0.0/decorator/function/Catch.md) - [clearAllModule](/api/3.0.0/decorator/function/clearAllModule.md) - [clearBindContainer](/api/3.0.0/decorator/function/clearBindContainer.md) - [Config](/api/3.0.0/decorator/function/Config.md) - [Configuration](/api/3.0.0/decorator/function/Configuration.md) - [Consumer](/api/3.0.0/decorator/function/Consumer.md) - [ContentType](/api/3.0.0/decorator/function/ContentType.md) - [Controller](/api/3.0.0/decorator/function/Controller.md) - [createCustomMethodDecorator](/api/3.0.0/decorator/function/createCustomMethodDecorator.md) - [createCustomParamDecorator](/api/3.0.0/decorator/function/createCustomParamDecorator.md) - [createCustomPropertyDecorator](/api/3.0.0/decorator/function/createCustomPropertyDecorator.md) - [createRender](/api/3.0.0/decorator/function/createRender.md) - [createRequestParamDecorator](/api/3.0.0/decorator/function/createRequestParamDecorator.md) - [Del](/api/3.0.0/decorator/function/Del.md) - [Destroy](/api/3.0.0/decorator/function/Destroy.md) - [DubboMethod](/api/3.0.0/decorator/function/DubboMethod.md) - [Emit](/api/3.0.0/decorator/function/Emit.md) - [Fields](/api/3.0.0/decorator/function/Fields.md) - [File](/api/3.0.0/decorator/function/File.md) - [Files](/api/3.0.0/decorator/function/Files.md) - [Framework](/api/3.0.0/decorator/function/Framework.md) - [Get](/api/3.0.0/decorator/function/Get.md) - [getClassExtendedMetadata](/api/3.0.0/decorator/function/getClassExtendedMetadata.md) - [getClassMetadata](/api/3.0.0/decorator/function/getClassMetadata.md) - [getMethodParamTypes](/api/3.0.0/decorator/function/getMethodParamTypes.md) - [getMethodReturnTypes](/api/3.0.0/decorator/function/getMethodReturnTypes.md) - [getObjectDefinition](/api/3.0.0/decorator/function/getObjectDefinition.md) - [getPropertyDataFromClass](/api/3.0.0/decorator/function/getPropertyDataFromClass.md) - [getPropertyInject](/api/3.0.0/decorator/function/getPropertyInject.md) - [getPropertyMetadata](/api/3.0.0/decorator/function/getPropertyMetadata.md) - [getPropertyType](/api/3.0.0/decorator/function/getPropertyType.md) - [getProviderId](/api/3.0.0/decorator/function/getProviderId.md) - [getProviderName](/api/3.0.0/decorator/function/getProviderName.md) - [getProviderUUId](/api/3.0.0/decorator/function/getProviderUUId.md) - [GrpcMethod](/api/3.0.0/decorator/function/GrpcMethod.md) - [Guard](/api/3.0.0/decorator/function/Guard.md) - [Head](/api/3.0.0/decorator/function/Head.md) - [Headers](/api/3.0.0/decorator/function/Headers.md) - [HSF](/api/3.0.0/decorator/function/HSF.md) - [HttpCode](/api/3.0.0/decorator/function/HttpCode.md) - [Init](/api/3.0.0/decorator/function/Init.md) - [Inject](/api/3.0.0/decorator/function/Inject.md) - [InjectClient](/api/3.0.0/decorator/function/InjectClient.md) - [isProvide](/api/3.0.0/decorator/function/isProvide.md) - [KafkaListener](/api/3.0.0/decorator/function/KafkaListener.md) - [listModule](/api/3.0.0/decorator/function/listModule.md) - [listPreloadModule](/api/3.0.0/decorator/function/listPreloadModule.md) - [listPropertyDataFromClass](/api/3.0.0/decorator/function/listPropertyDataFromClass.md) - [Logger](/api/3.0.0/decorator/function/Logger.md) - [Match](/api/3.0.0/decorator/function/Match.md) - [Middleware](/api/3.0.0/decorator/function/Middleware.md) - [Mock](/api/3.0.0/decorator/function/Mock.md) - [OnConnection](/api/3.0.0/decorator/function/OnConnection.md) - [OnDisConnection](/api/3.0.0/decorator/function/OnDisConnection.md) - [OnMessage](/api/3.0.0/decorator/function/OnMessage.md) - [OnWSConnection](/api/3.0.0/decorator/function/OnWSConnection.md) - [OnWSDisConnection](/api/3.0.0/decorator/function/OnWSDisConnection.md) - [OnWSMessage](/api/3.0.0/decorator/function/OnWSMessage.md) - [Options](/api/3.0.0/decorator/function/Options.md) - [Param](/api/3.0.0/decorator/function/Param.md) - [Patch](/api/3.0.0/decorator/function/Patch.md) - [Pipe](/api/3.0.0/decorator/function/Pipe.md) - [Pipeline](/api/3.0.0/decorator/function/Pipeline.md) - [Plugin](/api/3.0.0/decorator/function/Plugin.md) - [Post](/api/3.0.0/decorator/function/Post.md) - [Provide](/api/3.0.0/decorator/function/Provide.md) - [Provider](/api/3.0.0/decorator/function/Provider.md) - [Put](/api/3.0.0/decorator/function/Put.md) - [Queries](/api/3.0.0/decorator/function/Queries.md) - [Query](/api/3.0.0/decorator/function/Query.md) - [Queue](/api/3.0.0/decorator/function/Queue.md) - [RabbitMQListener](/api/3.0.0/decorator/function/RabbitMQListener.md) - [Redirect](/api/3.0.0/decorator/function/Redirect.md) - [RequestIP](/api/3.0.0/decorator/function/RequestIP.md) - [RequestMapping](/api/3.0.0/decorator/function/RequestMapping.md) - [RequestPath](/api/3.0.0/decorator/function/RequestPath.md) - [resetModule](/api/3.0.0/decorator/function/resetModule.md) - [saveClassMetadata](/api/3.0.0/decorator/function/saveClassMetadata.md) - [saveModule](/api/3.0.0/decorator/function/saveModule.md) - [saveObjectDefinition](/api/3.0.0/decorator/function/saveObjectDefinition.md) - [savePreloadModule](/api/3.0.0/decorator/function/savePreloadModule.md) - [savePropertyDataToClass](/api/3.0.0/decorator/function/savePropertyDataToClass.md) - [savePropertyInject](/api/3.0.0/decorator/function/savePropertyInject.md) - [savePropertyMetadata](/api/3.0.0/decorator/function/savePropertyMetadata.md) - [saveProviderId](/api/3.0.0/decorator/function/saveProviderId.md) - [Schedule](/api/3.0.0/decorator/function/Schedule.md) - [Scope](/api/3.0.0/decorator/function/Scope.md) - [ServerlessFunction](/api/3.0.0/decorator/function/ServerlessFunction.md) - [ServerlessTrigger](/api/3.0.0/decorator/function/ServerlessTrigger.md) - [Session](/api/3.0.0/decorator/function/Session.md) - [SetHeader](/api/3.0.0/decorator/function/SetHeader.md) - [Singleton](/api/3.0.0/decorator/function/Singleton.md) - [sleep](/api/3.0.0/decorator/function/sleep.md) - [Task](/api/3.0.0/decorator/function/Task.md) - [TaskLocal](/api/3.0.0/decorator/function/TaskLocal.md) - [transformTypeFromTSDesign](/api/3.0.0/decorator/function/transformTypeFromTSDesign.md) - [UseGuard](/api/3.0.0/decorator/function/UseGuard.md) - [WSBroadCast](/api/3.0.0/decorator/function/WSBroadCast.md) - [WSController](/api/3.0.0/decorator/function/WSController.md) - [WSEmit](/api/3.0.0/decorator/function/WSEmit.md) - [CommonSchedule](/api/3.0.0/decorator/interface/CommonSchedule.md) - [ControllerOption](/api/3.0.0/decorator/interface/ControllerOption.md) - [HSFOpts](/api/3.0.0/decorator/interface/HSFOpts.md) - [IComponentInfo](/api/3.0.0/decorator/interface/IComponentInfo.md) - [IManagedInstance](/api/3.0.0/decorator/interface/IManagedInstance.md): 内部管理的属性、json、ref等解析实例存储 - [IMethodAspect](/api/3.0.0/decorator/interface/IMethodAspect.md) - [IModuleStore](/api/3.0.0/decorator/interface/IModuleStore.md) - [InjectionConfigurationOptions](/api/3.0.0/decorator/interface/InjectionConfigurationOptions.md) - [JoinPoint](/api/3.0.0/decorator/interface/JoinPoint.md) - [KafkaListenerOptions](/api/3.0.0/decorator/interface/KafkaListenerOptions.md) - [ObjectDefinitionOptions](/api/3.0.0/decorator/interface/ObjectDefinitionOptions.md) - [RabbitMQListenerOptions](/api/3.0.0/decorator/interface/RabbitMQListenerOptions.md) - [ReflectResult](/api/3.0.0/decorator/interface/ReflectResult.md) - [ResolveFilter](/api/3.0.0/decorator/interface/ResolveFilter.md) - [RouterOption](/api/3.0.0/decorator/interface/RouterOption.md) - [RouterParamValue](/api/3.0.0/decorator/interface/RouterParamValue.md) - [ScheduleOpts](/api/3.0.0/decorator/interface/ScheduleOpts.md) - [TagClsMetadata](/api/3.0.0/decorator/interface/TagClsMetadata.md) - [TagPropsMetadata](/api/3.0.0/decorator/interface/TagPropsMetadata.md) - [WSControllerOption](/api/3.0.0/decorator/interface/WSControllerOption.md) - [WSEventInfo](/api/3.0.0/decorator/interface/WSEventInfo.md) - [ConsumerMetadata](/api/3.0.0/decorator/namespace/ConsumerMetadata.md) - [FaaSMetadata](/api/3.0.0/decorator/namespace/FaaSMetadata.md) - [GRPCMetadata](/api/3.0.0/decorator/namespace/GRPCMetadata.md): grpc decorator metadata format #### etcd - [@midwayjs/etcd](/api/3.0.0/etcd.md) - [Configuration](/api/3.0.0/etcd/class/Configuration.md) - [ETCDService](/api/3.0.0/etcd/class/ETCDService.md) - [ETCDServiceFactory](/api/3.0.0/etcd/class/ETCDServiceFactory.md) #### express-session - [@midwayjs/express-session](/api/3.0.0/express-session.md) - [Configuration](/api/3.0.0/express-session/class/Configuration.md) - [SessionMiddleware](/api/3.0.0/express-session/class/SessionMiddleware.md) - [SessionStoreManager](/api/3.0.0/express-session/class/SessionStoreManager.md) #### faas - [@midwayjs/faas](/api/3.0.0/faas.md) - [abstractAbstractBootstrapStarter](/api/3.0.0/faas/class/AbstractBootstrapStarter.md) - [Configuration](/api/3.0.0/faas/class/Configuration.md) - [Framework](/api/3.0.0/faas/class/Framework.md) - [Event](/api/3.0.0/faas/function/Event.md) - [Application](/api/3.0.0/faas/interface/Application.md) - [Context](/api/3.0.0/faas/interface/Context.md) - [FaaSContext](/api/3.0.0/faas/interface/FaaSContext.md) - [FaaSHTTPContext](/api/3.0.0/faas/interface/FaaSHTTPContext.md) - [FaaSHTTPRequest](/api/3.0.0/faas/interface/FaaSHTTPRequest.md) - [FaaSHTTPResponse](/api/3.0.0/faas/interface/FaaSHTTPResponse.md) - [FormatResponseOptions](/api/3.0.0/faas/interface/FormatResponseOptions.md) - [HandlerOptions](/api/3.0.0/faas/interface/HandlerOptions.md) - [HttpResponseFormat ](/api/3.0.0/faas/interface/HttpResponseFormat.md) - [IFaaSConfigurationOptions](/api/3.0.0/faas/interface/IFaaSConfigurationOptions.md) - [IWebMiddleware](/api/3.0.0/faas/interface/IWebMiddleware.md) - [ServerlessStarterOptions](/api/3.0.0/faas/interface/ServerlessStarterOptions.md) - [State](/api/3.0.0/faas/interface/State.md) - [wrapHttpRequestOptions](/api/3.0.0/faas/interface/wrapHttpRequestOptions.md) #### grpc - [@midwayjs/grpc](/api/3.0.0/grpc.md) - [Clients](/api/3.0.0/grpc/class/Clients.md) - [Configuration](/api/3.0.0/grpc/class/Configuration.md) - [Framework](/api/3.0.0/grpc/class/Framework.md) - [createGRPCConsumer](/api/3.0.0/grpc/function/createGRPCConsumer.md) - [loadProto](/api/3.0.0/grpc/function/loadProto.md) - [Context ](/api/3.0.0/grpc/interface/Context.md) - [DefaultConfig](/api/3.0.0/grpc/interface/DefaultConfig.md) - [IClientDuplexStreamService ](/api/3.0.0/grpc/interface/IClientDuplexStreamService.md) - [IClientOptions](/api/3.0.0/grpc/interface/IClientOptions.md) - [IClientReadableStreamService ](/api/3.0.0/grpc/interface/IClientReadableStreamService.md) - [IClientUnaryService ](/api/3.0.0/grpc/interface/IClientUnaryService.md) - [IClientWritableStreamService ](/api/3.0.0/grpc/interface/IClientWritableStreamService.md) - [IGRPCClientServiceOptions](/api/3.0.0/grpc/interface/IGRPCClientServiceOptions.md) - [IGRPCServiceOptions](/api/3.0.0/grpc/interface/IGRPCServiceOptions.md) - [IMidwayGRPFrameworkOptions](/api/3.0.0/grpc/interface/IMidwayGRPFrameworkOptions.md) #### http-proxy - [@midwayjs/http-proxy](/api/3.0.0/http-proxy.md) - [Configuration](/api/3.0.0/http-proxy/class/Configuration.md) - [HttpProxyMiddleware](/api/3.0.0/http-proxy/class/HttpProxyMiddleware.md) - [HttpProxyConfig](/api/3.0.0/http-proxy/interface/HttpProxyConfig.md) - [HttpProxyStrategy](/api/3.0.0/http-proxy/interface/HttpProxyStrategy.md) #### i18n - [@midwayjs/i18n](/api/3.0.0/i18n.md) - [Configuration](/api/3.0.0/i18n/class/Configuration.md) - [I18nFilter](/api/3.0.0/i18n/class/I18nFilter.md) - [I18nMiddleware](/api/3.0.0/i18n/class/I18nMiddleware.md) - [MidwayI18nService](/api/3.0.0/i18n/class/MidwayI18nService.md) - [MidwayI18nServiceSingleton](/api/3.0.0/i18n/class/MidwayI18nServiceSingleton.md) - [formatLocale](/api/3.0.0/i18n/function/formatLocale.md) - [I18nOptions](/api/3.0.0/i18n/interface/I18nOptions.md) - [RequestResolver](/api/3.0.0/i18n/interface/RequestResolver.md) - [TranslateOptions](/api/3.0.0/i18n/interface/TranslateOptions.md) #### info - [@midwayjs/info](/api/3.0.0/info.md) - [Configuration](/api/3.0.0/info/class/Configuration.md) - [InfoMiddleware](/api/3.0.0/info/class/InfoMiddleware.md) - [InfoService](/api/3.0.0/info/class/InfoService.md) - [InfoType](/api/3.0.0/info/enum/InfoType.md) - [InfoConfigOptions](/api/3.0.0/info/interface/InfoConfigOptions.md) - [TypeInfo](/api/3.0.0/info/interface/TypeInfo.md) #### jwt - [@midwayjs/jwt](/api/3.0.0/jwt.md) - [Configuration](/api/3.0.0/jwt/class/Configuration.md) - [JwtService](/api/3.0.0/jwt/class/JwtService.md): @see{@link https://github.com/auth0/node-jsonwebtoken} #### kafka - [@midwayjs/kafka](/api/3.0.0/kafka.md) - [Configuration](/api/3.0.0/kafka/class/Configuration.md) - [Framework](/api/3.0.0/kafka/class/Framework.md) - [KafkaAdminFactory](/api/3.0.0/kafka/class/KafkaAdminFactory.md) - [KafkaProducerFactory](/api/3.0.0/kafka/class/KafkaProducerFactory.md) - [KafkaConsumer](/api/3.0.0/kafka/function/KafkaConsumer.md) - [Context](/api/3.0.0/kafka/interface/Context.md) - [IKafkaApplication](/api/3.0.0/kafka/interface/IKafkaApplication.md) - [IKafkaConsumer](/api/3.0.0/kafka/interface/IKafkaConsumer.md) - [IKafkaConsumerInitOptions](/api/3.0.0/kafka/interface/IKafkaConsumerInitOptions.md): The options for the kafka consumer initialization in midway - [IMidwayConsumerConfig](/api/3.0.0/kafka/interface/IMidwayConsumerConfig.md): 客户端的相关配置,在midwayjs的自定义配置项 - [IMidwayKafkaAdminInitOptions](/api/3.0.0/kafka/interface/IMidwayKafkaAdminInitOptions.md): The options for the kafka admin initialization in midway - [IMidwayKafkaConfigurationOptions](/api/3.0.0/kafka/interface/IMidwayKafkaConfigurationOptions.md) - [IMidwayKafkaProducerInitOptions](/api/3.0.0/kafka/interface/IMidwayKafkaProducerInitOptions.md): The options for the kafka producer initialization in midway #### mikro - [@midwayjs/mikro](/api/3.0.0/mikro.md) - [Configuration](/api/3.0.0/mikro/class/Configuration.md) - [MikroDataSourceManager](/api/3.0.0/mikro/class/MikroDataSourceManager.md) - [InjectDataSource](/api/3.0.0/mikro/function/InjectDataSource.md) - [InjectEntityManager](/api/3.0.0/mikro/function/InjectEntityManager.md) - [InjectRepository](/api/3.0.0/mikro/function/InjectRepository.md) #### mock - [@midwayjs/mock](/api/3.0.0/mock.md) - [SocketIOWrapperClient](/api/3.0.0/mock/class/SocketIOWrapperClient.md) - [close](/api/3.0.0/mock/function/close.md) - [create](/api/3.0.0/mock/function/create.md) - [createApp](/api/3.0.0/mock/function/createApp.md) - [createBootstrap](/api/3.0.0/mock/function/createBootstrap.md) - [createFunctionApp](/api/3.0.0/mock/function/createFunctionApp.md) - [createHttpRequest](/api/3.0.0/mock/function/createHttpRequest.md) - [createKafkaProducer](/api/3.0.0/mock/function/createKafkaProducer.md) - [createLightApp](/api/3.0.0/mock/function/createLightApp.md) - [createRabbitMQProducer](/api/3.0.0/mock/function/createRabbitMQProducer.md) - [createSocketIOClient](/api/3.0.0/mock/function/createSocketIOClient.md) - [createWebSocketClient](/api/3.0.0/mock/function/createWebSocketClient.md) - [mockClassProperty](/api/3.0.0/mock/function/mockClassProperty.md) - [mockContext](/api/3.0.0/mock/function/mockContext.md) - [mockHeader](/api/3.0.0/mock/function/mockHeader.md) - [mockProperty](/api/3.0.0/mock/function/mockProperty.md) - [mockSession](/api/3.0.0/mock/function/mockSession.md) - [processArgsParser](/api/3.0.0/mock/function/processArgsParser.md) - [restoreAllMocks](/api/3.0.0/mock/function/restoreAllMocks.md) - [restoreMocks](/api/3.0.0/mock/function/restoreMocks.md) - [transformFrameworkToConfiguration](/api/3.0.0/mock/function/transformFrameworkToConfiguration.md) - [MidwaySocketIOClientOptions](/api/3.0.0/mock/interface/MidwaySocketIOClientOptions.md) #### mongoose - [@midwayjs/mongoose](/api/3.0.0/mongoose.md) - [Configuration](/api/3.0.0/mongoose/class/Configuration.md) - [MongooseConnectionService](/api/3.0.0/mongoose/class/MongooseConnectionService.md) - [MongooseConnectionServiceFactory](/api/3.0.0/mongoose/class/MongooseConnectionServiceFactory.md) - [MongooseDataSourceManager](/api/3.0.0/mongoose/class/MongooseDataSourceManager.md) #### otel - [@midwayjs/otel](/api/3.0.0/otel.md) - [Configuration](/api/3.0.0/otel/class/Configuration.md) - [TraceService](/api/3.0.0/otel/class/TraceService.md) - [Trace](/api/3.0.0/otel/function/Trace.md) #### passport - [@midwayjs/passport](/api/3.0.0/passport.md) - [abstractAbstractPassportMiddleware](/api/3.0.0/passport/class/AbstractPassportMiddleware.md) - [Configuration](/api/3.0.0/passport/class/Configuration.md) - [PassportAuthenticator](/api/3.0.0/passport/class/PassportAuthenticator.md) - [CustomStrategy](/api/3.0.0/passport/function/CustomStrategy.md) - [PassportMiddleware](/api/3.0.0/passport/function/PassportMiddleware.md) - [PassportStrategy](/api/3.0.0/passport/function/PassportStrategy.md) - [AuthenticateOptions](/api/3.0.0/passport/interface/AuthenticateOptions.md) - [IPassportMiddleware](/api/3.0.0/passport/interface/IPassportMiddleware.md) - [IPassportStrategy](/api/3.0.0/passport/interface/IPassportStrategy.md) - [StrategyCreatedStatic](/api/3.0.0/passport/interface/StrategyCreatedStatic.md) #### processAgent - [@midwayjs/process-agent](/api/3.0.0/processAgent.md) - [Configuration](/api/3.0.0/processAgent/class/Configuration.md) - [RunInPrimary](/api/3.0.0/processAgent/function/RunInPrimary.md) #### prometheus - [@midwayjs/prometheus](/api/3.0.0/prometheus.md) - [Configuration](/api/3.0.0/prometheus/class/Configuration.md) - [DataService](/api/3.0.0/prometheus/class/DataService.md) #### prometheus-socket-io - [@midwayjs/prometheus-socket-io](/api/3.0.0/prometheus-socket-io.md) - [Configuration](/api/3.0.0/prometheus-socket-io/class/Configuration.md) #### rabbitmq - [@midwayjs/rabbitmq](/api/3.0.0/rabbitmq.md) - [Configuration](/api/3.0.0/rabbitmq/class/Configuration.md) - [Framework](/api/3.0.0/rabbitmq/class/Framework.md) - [Context](/api/3.0.0/rabbitmq/interface/Context.md) - [IMidwayRabbitMQConfigurationOptions](/api/3.0.0/rabbitmq/interface/IMidwayRabbitMQConfigurationOptions.md) - [IRabbitMQApplication](/api/3.0.0/rabbitmq/interface/IRabbitMQApplication.md) - [IRabbitMQExchange](/api/3.0.0/rabbitmq/interface/IRabbitMQExchange.md) #### redis - [@midwayjs/redis](/api/3.0.0/redis.md) - [Configuration](/api/3.0.0/redis/class/Configuration.md) - [RedisService](/api/3.0.0/redis/class/RedisService.md) - [RedisServiceFactory](/api/3.0.0/redis/class/RedisServiceFactory.md) #### security - [@midwayjs/security](/api/3.0.0/security.md) - [Configuration](/api/3.0.0/security/class/Configuration.md) - [CSPMiddleware](/api/3.0.0/security/class/CSPMiddleware.md) - [CsrfMiddleware](/api/3.0.0/security/class/CsrfMiddleware.md) - [HSTSMiddleware](/api/3.0.0/security/class/HSTSMiddleware.md) - [NoOpenMiddleware](/api/3.0.0/security/class/NoOpenMiddleware.md) - [NoSniffMiddleware](/api/3.0.0/security/class/NoSniffMiddleware.md) - [SecurityHelper](/api/3.0.0/security/class/SecurityHelper.md) - [XFrameMiddleware](/api/3.0.0/security/class/XFrameMiddleware.md) - [XSSProtectionMiddleware](/api/3.0.0/security/class/XSSProtectionMiddleware.md) - [SecurityCSPOptions](/api/3.0.0/security/interface/SecurityCSPOptions.md) - [SecurityCSRFOptions](/api/3.0.0/security/interface/SecurityCSRFOptions.md) - [SecurityEnableOptions](/api/3.0.0/security/interface/SecurityEnableOptions.md) - [SecurityHSTSOptions](/api/3.0.0/security/interface/SecurityHSTSOptions.md) - [SecurityOptions](/api/3.0.0/security/interface/SecurityOptions.md) - [SecurityXFrameOptions](/api/3.0.0/security/interface/SecurityXFrameOptions.md) - [SecurityXSSProtectionOptions](/api/3.0.0/security/interface/SecurityXSSProtectionOptions.md) #### sequelize - [@midwayjs/sequelize](/api/3.0.0/sequelize.md) - [Configuration](/api/3.0.0/sequelize/class/Configuration.md) - [SequelizeDataSourceManager](/api/3.0.0/sequelize/class/SequelizeDataSourceManager.md) - [BaseTable](/api/3.0.0/sequelize/function/BaseTable.md) - [InjectDataSource](/api/3.0.0/sequelize/function/InjectDataSource.md) - [InjectRepository](/api/3.0.0/sequelize/function/InjectRepository.md) #### session - [@midwayjs/session](/api/3.0.0/session.md) - [Configuration](/api/3.0.0/session/class/Configuration.md) - [SessionMiddleware](/api/3.0.0/session/class/SessionMiddleware.md) - [abstractSessionStore](/api/3.0.0/session/class/SessionStore.md) - [SessionStoreManager](/api/3.0.0/session/class/SessionStoreManager.md) - [ISession](/api/3.0.0/session/interface/ISession.md) - [SessionOptions](/api/3.0.0/session/interface/SessionOptions.md) #### socketio - [@midwayjs/socketio](/api/3.0.0/socketio.md) - [Configuration](/api/3.0.0/socketio/class/Configuration.md) - [Framework](/api/3.0.0/socketio/class/Framework.md) - [createRedisAdapter](/api/3.0.0/socketio/function/createRedisAdapter.md) #### static-file - [@midwayjs/static-file](/api/3.0.0/static-file.md) - [Configuration](/api/3.0.0/static-file/class/Configuration.md) - [DirectoryNotFoundError](/api/3.0.0/static-file/class/DirectoryNotFoundError.md) - [StaticMiddleware](/api/3.0.0/static-file/class/StaticMiddleware.md) - [StaticFileOption](/api/3.0.0/static-file/interface/StaticFileOption.md) - [StaticFileOptions](/api/3.0.0/static-file/interface/StaticFileOptions.md) #### swagger - [@midwayjs/swagger](/api/3.0.0/swagger.md) - [Configuration](/api/3.0.0/swagger/class/Configuration.md) - [SwaggerExplorer](/api/3.0.0/swagger/class/SwaggerExplorer.md) - [SwaggerMiddleware](/api/3.0.0/swagger/class/SwaggerMiddleware.md) - [BodyContentType](/api/3.0.0/swagger/enum/BodyContentType.md) - [ApiAcceptedResponse](/api/3.0.0/swagger/function/ApiAcceptedResponse.md) - [ApiBadGatewayResponse](/api/3.0.0/swagger/function/ApiBadGatewayResponse.md) - [ApiBadRequestResponse](/api/3.0.0/swagger/function/ApiBadRequestResponse.md) - [ApiBasicAuth](/api/3.0.0/swagger/function/ApiBasicAuth.md) - [ApiBearerAuth](/api/3.0.0/swagger/function/ApiBearerAuth.md) - [ApiBody](/api/3.0.0/swagger/function/ApiBody.md) - [ApiConflictResponse](/api/3.0.0/swagger/function/ApiConflictResponse.md) - [ApiCookieAuth](/api/3.0.0/swagger/function/ApiCookieAuth.md) - [ApiCreatedResponse](/api/3.0.0/swagger/function/ApiCreatedResponse.md) - [ApiDefaultResponse](/api/3.0.0/swagger/function/ApiDefaultResponse.md) - [ApiExcludeController](/api/3.0.0/swagger/function/ApiExcludeController.md) - [ApiExcludeEndpoint](/api/3.0.0/swagger/function/ApiExcludeEndpoint.md) - [ApiExcludeSecurity](/api/3.0.0/swagger/function/ApiExcludeSecurity.md) - [ApiExtension](/api/3.0.0/swagger/function/ApiExtension.md) - [ApiExtraModel](/api/3.0.0/swagger/function/ApiExtraModel.md) - [ApiForbiddenResponse](/api/3.0.0/swagger/function/ApiForbiddenResponse.md) - [ApiFoundResponse](/api/3.0.0/swagger/function/ApiFoundResponse.md) - [ApiGatewayTimeoutResponse](/api/3.0.0/swagger/function/ApiGatewayTimeoutResponse.md) - [ApiGoneResponse](/api/3.0.0/swagger/function/ApiGoneResponse.md) - [ApiHeader](/api/3.0.0/swagger/function/ApiHeader.md) - [ApiHeaders](/api/3.0.0/swagger/function/ApiHeaders.md) - [ApiInternalServerErrorResponse](/api/3.0.0/swagger/function/ApiInternalServerErrorResponse.md) - [ApiMethodNotAllowedResponse](/api/3.0.0/swagger/function/ApiMethodNotAllowedResponse.md) - [ApiMovedPermanentlyResponse](/api/3.0.0/swagger/function/ApiMovedPermanentlyResponse.md) - [ApiNoContentResponse](/api/3.0.0/swagger/function/ApiNoContentResponse.md) - [ApiNotAcceptableResponse](/api/3.0.0/swagger/function/ApiNotAcceptableResponse.md) - [ApiNotFoundResponse](/api/3.0.0/swagger/function/ApiNotFoundResponse.md) - [ApiNotImplementedResponse](/api/3.0.0/swagger/function/ApiNotImplementedResponse.md) - [ApiOAuth2](/api/3.0.0/swagger/function/ApiOAuth2.md) - [ApiOkResponse](/api/3.0.0/swagger/function/ApiOkResponse.md) - [ApiOperation](/api/3.0.0/swagger/function/ApiOperation.md) - [ApiParam](/api/3.0.0/swagger/function/ApiParam.md) - [ApiPayloadTooLargeResponse](/api/3.0.0/swagger/function/ApiPayloadTooLargeResponse.md) - [ApiPreconditionFailedResponse](/api/3.0.0/swagger/function/ApiPreconditionFailedResponse.md) - [ApiProperty](/api/3.0.0/swagger/function/ApiProperty.md) - [ApiPropertyOptional](/api/3.0.0/swagger/function/ApiPropertyOptional.md) - [ApiQuery](/api/3.0.0/swagger/function/ApiQuery.md) - [ApiRequestTimeoutResponse](/api/3.0.0/swagger/function/ApiRequestTimeoutResponse.md) - [ApiResponse](/api/3.0.0/swagger/function/ApiResponse.md) - [ApiResponseProperty](/api/3.0.0/swagger/function/ApiResponseProperty.md) - [ApiSecurity](/api/3.0.0/swagger/function/ApiSecurity.md) - [ApiServiceUnavailableResponse](/api/3.0.0/swagger/function/ApiServiceUnavailableResponse.md) - [ApiTags](/api/3.0.0/swagger/function/ApiTags.md) - [ApiTooManyRequestsResponse](/api/3.0.0/swagger/function/ApiTooManyRequestsResponse.md) - [ApiUnauthorizedResponse](/api/3.0.0/swagger/function/ApiUnauthorizedResponse.md) - [ApiUnprocessableEntityResponse](/api/3.0.0/swagger/function/ApiUnprocessableEntityResponse.md) - [ApiUnsupportedMediaTypeResponse](/api/3.0.0/swagger/function/ApiUnsupportedMediaTypeResponse.md) - [getSchemaPath](/api/3.0.0/swagger/function/getSchemaPath.md) - [renderJSON](/api/3.0.0/swagger/function/renderJSON.md) - [renderSwaggerUIDist](/api/3.0.0/swagger/function/renderSwaggerUIDist.md) - [renderSwaggerUIRemote](/api/3.0.0/swagger/function/renderSwaggerUIRemote.md) - [ApiHeaderOptions](/api/3.0.0/swagger/interface/ApiHeaderOptions.md) - [ApiPropertyOptions](/api/3.0.0/swagger/interface/ApiPropertyOptions.md) - [ApiResponseMetadata](/api/3.0.0/swagger/interface/ApiResponseMetadata.md) - [ApiResponseSchemaHost](/api/3.0.0/swagger/interface/ApiResponseSchemaHost.md) - [AuthOptions](/api/3.0.0/swagger/interface/AuthOptions.md): 继承自 https://swagger.io/specification/#security-scheme-object - [BaseParameterObject](/api/3.0.0/swagger/interface/BaseParameterObject.md) - [ComponentsObject](/api/3.0.0/swagger/interface/ComponentsObject.md) - [ContactObject](/api/3.0.0/swagger/interface/ContactObject.md) - [DiscriminatorObject](/api/3.0.0/swagger/interface/DiscriminatorObject.md) - [EncodingPropertyObject](/api/3.0.0/swagger/interface/EncodingPropertyObject.md) - [ExampleObject](/api/3.0.0/swagger/interface/ExampleObject.md) - [ExternalDocumentationObject](/api/3.0.0/swagger/interface/ExternalDocumentationObject.md) - [InfoObject](/api/3.0.0/swagger/interface/InfoObject.md) - [LicenseObject](/api/3.0.0/swagger/interface/LicenseObject.md) - [LinkObject](/api/3.0.0/swagger/interface/LinkObject.md) - [MediaTypeObject](/api/3.0.0/swagger/interface/MediaTypeObject.md) - [MixDecoratorMetadata](/api/3.0.0/swagger/interface/MixDecoratorMetadata.md) - [OAuthFlowObject](/api/3.0.0/swagger/interface/OAuthFlowObject.md) - [OAuthFlowsObject](/api/3.0.0/swagger/interface/OAuthFlowsObject.md) - [OpenAPIObject](/api/3.0.0/swagger/interface/OpenAPIObject.md) - [OperationObject](/api/3.0.0/swagger/interface/OperationObject.md) - [ParameterObject](/api/3.0.0/swagger/interface/ParameterObject.md) - [PathItemObject](/api/3.0.0/swagger/interface/PathItemObject.md) - [ReferenceObject](/api/3.0.0/swagger/interface/ReferenceObject.md) - [RequestBodyObject](/api/3.0.0/swagger/interface/RequestBodyObject.md) - [ResponseObject](/api/3.0.0/swagger/interface/ResponseObject.md) - [ResponsesObject](/api/3.0.0/swagger/interface/ResponsesObject.md) - [SchemaObject](/api/3.0.0/swagger/interface/SchemaObject.md) - [SchemaObjectMetadata](/api/3.0.0/swagger/interface/SchemaObjectMetadata.md) - [SecuritySchemeObject](/api/3.0.0/swagger/interface/SecuritySchemeObject.md) - [ServerObject](/api/3.0.0/swagger/interface/ServerObject.md) - [ServerVariableObject](/api/3.0.0/swagger/interface/ServerVariableObject.md) - [SwaggerOptions](/api/3.0.0/swagger/interface/SwaggerOptions.md): see https://swagger.io/specification/ - [TagObject](/api/3.0.0/swagger/interface/TagObject.md) - [Type ](/api/3.0.0/swagger/interface/Type.md) - [XmlObject](/api/3.0.0/swagger/interface/XmlObject.md) #### tablestore - [@midwayjs/tablestore](/api/3.0.0/tablestore.md) - [CompositeCondition](/api/3.0.0/tablestore/class/CompositeCondition.md) - [Condition](/api/3.0.0/tablestore/class/Condition.md) - [Configuration](/api/3.0.0/tablestore/class/Configuration.md) - [SingleColumnCondition ](/api/3.0.0/tablestore/class/SingleColumnCondition.md) - [TableStoreService](/api/3.0.0/tablestore/class/TableStoreService.md) - [TableStoreServiceFactory](/api/3.0.0/tablestore/class/TableStoreServiceFactory.md) - [ColumnConditionType](/api/3.0.0/tablestore/enum/ColumnConditionType.md) - [ColumnReturnType](/api/3.0.0/tablestore/enum/ColumnReturnType.md) - [ComparatorType](/api/3.0.0/tablestore/enum/ComparatorType.md) - [DefinedColumnType](/api/3.0.0/tablestore/enum/DefinedColumnType.md) - [Direction](/api/3.0.0/tablestore/enum/Direction.md) - [FieldType](/api/3.0.0/tablestore/enum/FieldType.md) - [FilterType](/api/3.0.0/tablestore/enum/FilterType.md) - [GeoDistanceType](/api/3.0.0/tablestore/enum/GeoDistanceType.md) - [IndexOptions](/api/3.0.0/tablestore/enum/IndexOptions.md) - [IndexType](/api/3.0.0/tablestore/enum/IndexType.md) - [IndexUpdateMode](/api/3.0.0/tablestore/enum/IndexUpdateMode.md) - [LogicalOperator](/api/3.0.0/tablestore/enum/LogicalOperator.md) - [PrimaryKeyOption](/api/3.0.0/tablestore/enum/PrimaryKeyOption.md) - [PrimaryKeyType](/api/3.0.0/tablestore/enum/PrimaryKeyType.md) - [QueryOperator](/api/3.0.0/tablestore/enum/QueryOperator.md) - [QueryType](/api/3.0.0/tablestore/enum/QueryType.md): search - [ReturnType](/api/3.0.0/tablestore/enum/ReturnType.md) - [RowExistenceExpectation](/api/3.0.0/tablestore/enum/RowExistenceExpectation.md): metadata - [ScoreMode](/api/3.0.0/tablestore/enum/ScoreMode.md) - [SortMode](/api/3.0.0/tablestore/enum/SortMode.md) - [SortOrder](/api/3.0.0/tablestore/enum/SortOrder.md) - [UpdateType](/api/3.0.0/tablestore/enum/UpdateType.md) - [formatRow](/api/3.0.0/tablestore/function/formatRow.md) - [formatRows](/api/3.0.0/tablestore/function/formatRows.md) - [BatchGetRowParams](/api/3.0.0/tablestore/interface/BatchGetRowParams.md) - [BatchWriteRowParams](/api/3.0.0/tablestore/interface/BatchWriteRowParams.md) - [ColumnCondition](/api/3.0.0/tablestore/interface/ColumnCondition.md) - [CreateIndexParams](/api/3.0.0/tablestore/interface/CreateIndexParams.md) - [CreateSearchIndexParams](/api/3.0.0/tablestore/interface/CreateSearchIndexParams.md) - [CreateTableParams](/api/3.0.0/tablestore/interface/CreateTableParams.md): params - [DeleteRowParams](/api/3.0.0/tablestore/interface/DeleteRowParams.md) - [DeleteSearchIndexParams](/api/3.0.0/tablestore/interface/DeleteSearchIndexParams.md) - [DeleteTableParams](/api/3.0.0/tablestore/interface/DeleteTableParams.md) - [DescribeSearchIndexParams](/api/3.0.0/tablestore/interface/DescribeSearchIndexParams.md) - [DescribeTableParams](/api/3.0.0/tablestore/interface/DescribeTableParams.md) - [DropIndexParams](/api/3.0.0/tablestore/interface/DropIndexParams.md) - [GetRangeParams](/api/3.0.0/tablestore/interface/GetRangeParams.md) - [GetRowParams](/api/3.0.0/tablestore/interface/GetRowParams.md) - [ListSearchIndexParams](/api/3.0.0/tablestore/interface/ListSearchIndexParams.md) - [PutRowParams](/api/3.0.0/tablestore/interface/PutRowParams.md) - [SearchIndexFieldSchema](/api/3.0.0/tablestore/interface/SearchIndexFieldSchema.md) - [SearchIndexNestedFilter](/api/3.0.0/tablestore/interface/SearchIndexNestedFilter.md) - [SearchIndexSchema](/api/3.0.0/tablestore/interface/SearchIndexSchema.md) - [SearchIndexSetting](/api/3.0.0/tablestore/interface/SearchIndexSetting.md) - [SearchIndexSorter](/api/3.0.0/tablestore/interface/SearchIndexSorter.md) - [SearchParams](/api/3.0.0/tablestore/interface/SearchParams.md) - [SearchQuery](/api/3.0.0/tablestore/interface/SearchQuery.md) - [StartLocalTransactionParams](/api/3.0.0/tablestore/interface/StartLocalTransactionParams.md) - [TableStoreClient](/api/3.0.0/tablestore/interface/TableStoreClient.md) - [TableStoreCompositeCondition](/api/3.0.0/tablestore/interface/TableStoreCompositeCondition.md) - [TableStoreCondition](/api/3.0.0/tablestore/interface/TableStoreCondition.md) - [TableStoreConfig](/api/3.0.0/tablestore/interface/TableStoreConfig.md) - [TableStoreLong](/api/3.0.0/tablestore/interface/TableStoreLong.md) - [TableStoreResult](/api/3.0.0/tablestore/interface/TableStoreResult.md) - [TableStoreSingleColumnCondition ](/api/3.0.0/tablestore/interface/TableStoreSingleColumnCondition.md) - [UpdateRowParams](/api/3.0.0/tablestore/interface/UpdateRowParams.md) - [UpdateTableParams](/api/3.0.0/tablestore/interface/UpdateTableParams.md) #### tags - [@midwayjs/tags](/api/3.0.0/tags.md) - [Configuration](/api/3.0.0/tags/class/Configuration.md) - [abstractITagDialect](/api/3.0.0/tags/class/ITagDialect.md) - [abstractITagDialectInstance](/api/3.0.0/tags/class/ITagDialectInstance.md) - [TagClient](/api/3.0.0/tags/class/TagClient.md) - [TagServiceFactory](/api/3.0.0/tags/class/TagServiceFactory.md) - [MATCH_TYPE](/api/3.0.0/tags/enum/MATCH_TYPE.md) - [TAG_ERROR](/api/3.0.0/tags/enum/TAG_ERROR.md) - [ITagBindOptions](/api/3.0.0/tags/interface/ITagBindOptions.md) - [ITagDefine](/api/3.0.0/tags/interface/ITagDefine.md) - [ITagInstance](/api/3.0.0/tags/interface/ITagInstance.md) - [ITagItem](/api/3.0.0/tags/interface/ITagItem.md) - [ITagListInstanceOptions](/api/3.0.0/tags/interface/ITagListInstanceOptions.md) - [ITagListInstanceTagsOptions](/api/3.0.0/tags/interface/ITagListInstanceTagsOptions.md) - [ITagListResult ](/api/3.0.0/tags/interface/ITagListResult.md) - [ITagMysqlDialectOption](/api/3.0.0/tags/interface/ITagMysqlDialectOption.md) - [ITagOperResult](/api/3.0.0/tags/interface/ITagOperResult.md) - [ITagPages](/api/3.0.0/tags/interface/ITagPages.md) - [ITagSearchOptions](/api/3.0.0/tags/interface/ITagSearchOptions.md) - [ITagServiceInitOptions](/api/3.0.0/tags/interface/ITagServiceInitOptions.md) - [ITagUnBindOptions](/api/3.0.0/tags/interface/ITagUnBindOptions.md) - [ITagUserDialect](/api/3.0.0/tags/interface/ITagUserDialect.md) #### typegoose - [@midwayjs/typegoose](/api/3.0.0/typegoose.md) - [Configuration](/api/3.0.0/typegoose/class/Configuration.md) - [EntityModel](/api/3.0.0/typegoose/function/EntityModel.md) - [InjectEntityModel](/api/3.0.0/typegoose/function/InjectEntityModel.md) #### typeorm - [@midwayjs/typeorm](/api/3.0.0/typeorm.md) - [Configuration](/api/3.0.0/typeorm/class/Configuration.md) - [TypeORMDataSourceManager](/api/3.0.0/typeorm/class/TypeORMDataSourceManager.md) - [EventSubscriberModel](/api/3.0.0/typeorm/function/EventSubscriberModel.md) - [InjectDataSource](/api/3.0.0/typeorm/function/InjectDataSource.md) - [InjectEntityModel](/api/3.0.0/typeorm/function/InjectEntityModel.md) #### upload - [@midwayjs/upload](/api/3.0.0/upload.md) - [Configuration](/api/3.0.0/upload/class/Configuration.md) - [MultipartInvalidFilenameError](/api/3.0.0/upload/class/MultipartInvalidFilenameError.md) - [MultipartInvalidFileTypeError](/api/3.0.0/upload/class/MultipartInvalidFileTypeError.md) - [UploadMiddleware](/api/3.0.0/upload/class/UploadMiddleware.md) - [UploadFileInfo ](/api/3.0.0/upload/interface/UploadFileInfo.md) - [UploadOptions](/api/3.0.0/upload/interface/UploadOptions.md) #### validate - [@midwayjs/validate](/api/3.0.0/validate.md) - [abstractAbstractValidationPipe](/api/3.0.0/validate/class/AbstractValidationPipe.md) - [Configuration](/api/3.0.0/validate/class/Configuration.md) - [DecoratorValidPipe](/api/3.0.0/validate/class/DecoratorValidPipe.md) - [DefaultValuePipe ](/api/3.0.0/validate/class/DefaultValuePipe.md) - [MidwayValidationError](/api/3.0.0/validate/class/MidwayValidationError.md) - [ParseBoolPipe](/api/3.0.0/validate/class/ParseBoolPipe.md) - [ParseFloatPipe](/api/3.0.0/validate/class/ParseFloatPipe.md) - [ParseIntPipe](/api/3.0.0/validate/class/ParseIntPipe.md) - [abstractParsePipe](/api/3.0.0/validate/class/ParsePipe.md) - [ValidateService](/api/3.0.0/validate/class/ValidateService.md) - [ValidationPipe](/api/3.0.0/validate/class/ValidationPipe.md) - [getSchema](/api/3.0.0/validate/function/getSchema.md) - [OmitDto](/api/3.0.0/validate/function/OmitDto.md) - [PickDto](/api/3.0.0/validate/function/PickDto.md) - [Rule](/api/3.0.0/validate/function/Rule.md) - [Valid](/api/3.0.0/validate/function/Valid.md) - [Validate](/api/3.0.0/validate/function/Validate.md) - [Dto ](/api/3.0.0/validate/interface/Dto.md) - [RuleOptions](/api/3.0.0/validate/interface/RuleOptions.md) - [ValidateOptions](/api/3.0.0/validate/interface/ValidateOptions.md) #### view - [@midwayjs/view](/api/3.0.0/view.md) - [Configuration](/api/3.0.0/view/class/Configuration.md) - [ContextView](/api/3.0.0/view/class/ContextView.md): View instance for each request. It will find the view engine, and render it. The view engine should be registered in {@link ViewManager}. - [ViewManager](/api/3.0.0/view/class/ViewManager.md) - [IViewEngine](/api/3.0.0/view/interface/IViewEngine.md) - [RenderOptions](/api/3.0.0/view/interface/RenderOptions.md) #### view-ejs - [@midwayjs/view-ejs](/api/3.0.0/view-ejs.md) - [Configuration](/api/3.0.0/view-ejs/class/Configuration.md) - [EjsView](/api/3.0.0/view-ejs/class/EjsView.md) #### view-nunjucks - [@midwayjs/view-nunjucks](/api/3.0.0/view-nunjucks.md) - [Configuration](/api/3.0.0/view-nunjucks/class/Configuration.md) - [NunjucksEnvironment](/api/3.0.0/view-nunjucks/class/NunjucksEnvironment.md) - [NunjucksView](/api/3.0.0/view-nunjucks/class/NunjucksView.md) #### web - [@midwayjs/web](/api/3.0.0/web.md) - [Agent](/api/3.0.0/web/class/Agent.md) - [Application](/api/3.0.0/web/class/Application.md) - [Configuration](/api/3.0.0/web/class/Configuration.md) - [Framework](/api/3.0.0/web/class/Framework.md) - [AgentApp](/api/3.0.0/web/function/AgentApp.md) - [createAgentWorkerLoader](/api/3.0.0/web/function/createAgentWorkerLoader.md) - [createAppWorkerLoader](/api/3.0.0/web/function/createAppWorkerLoader.md) - [createEggAgent](/api/3.0.0/web/function/createEggAgent.md) - [createEggApplication](/api/3.0.0/web/function/createEggApplication.md) - [RunInEggAgent](/api/3.0.0/web/function/RunInEggAgent.md) - [startCluster](/api/3.0.0/web/function/startCluster.md) - [Context ](/api/3.0.0/web/interface/Context.md) - [IMidwayWebBaseApplication](/api/3.0.0/web/interface/IMidwayWebBaseApplication.md) - [IMidwayWebConfigurationOptions](/api/3.0.0/web/interface/IMidwayWebConfigurationOptions.md) - [IWebMiddleware](/api/3.0.0/web/interface/IWebMiddleware.md) - [State](/api/3.0.0/web/interface/State.md) #### web-express - [@midwayjs/express](/api/3.0.0/web-express.md) - [Configuration](/api/3.0.0/web-express/class/Configuration.md) - [Framework](/api/3.0.0/web-express/class/Framework.md) - [MidwayExpressMiddlewareService](/api/3.0.0/web-express/class/MidwayExpressMiddlewareService.md) - [wrapAsyncHandler](/api/3.0.0/web-express/function/wrapAsyncHandler.md) - [wrapMiddleware](/api/3.0.0/web-express/function/wrapMiddleware.md) - [Context](/api/3.0.0/web-express/interface/Context.md) - [IMidwayExpressApplication](/api/3.0.0/web-express/interface/IMidwayExpressApplication.md) - [IMidwayExpressConfigurationOptions](/api/3.0.0/web-express/interface/IMidwayExpressConfigurationOptions.md) #### web-koa - [@midwayjs/koa](/api/3.0.0/web-koa.md) - [BodyParserMiddleware](/api/3.0.0/web-koa/class/BodyParserMiddleware.md) - [Configuration](/api/3.0.0/web-koa/class/Configuration.md) - [Framework](/api/3.0.0/web-koa/class/Framework.md) - [SiteFileMiddleware](/api/3.0.0/web-koa/class/SiteFileMiddleware.md) - [BodyParserOptions](/api/3.0.0/web-koa/interface/BodyParserOptions.md) - [Context](/api/3.0.0/web-koa/interface/Context.md) - [IMidwayKoaConfigurationOptions](/api/3.0.0/web-koa/interface/IMidwayKoaConfigurationOptions.md) - [IWebMiddleware](/api/3.0.0/web-koa/interface/IWebMiddleware.md) - [State](/api/3.0.0/web-koa/interface/State.md) #### ws - [@midwayjs/ws](/api/3.0.0/ws.md) - [Configuration](/api/3.0.0/ws/class/Configuration.md) - [Framework](/api/3.0.0/ws/class/Framework.md) - [Context](/api/3.0.0/ws/interface/Context.md) ### axios - [@midwayjs/axios](/api/axios.md) #### class - [Configuration](/api/axios/class/Configuration.md) - [HttpService](/api/axios/class/HttpService.md) - [HttpServiceFactory](/api/axios/class/HttpServiceFactory.md) #### interface - [AxiosRequestConfig ](/api/axios/interface/AxiosRequestConfig.md): Interface for custom axios request config merging. - [AxiosResponse ](/api/axios/interface/AxiosResponse.md) ### bootstrap - [@midwayjs/bootstrap](/api/bootstrap.md) #### class - [abstractAbstractForkManager ](/api/bootstrap/class/AbstractForkManager.md) - [Bootstrap](/api/bootstrap/class/Bootstrap.md) - [BootstrapStarter](/api/bootstrap/class/BootstrapStarter.md) - [ClusterManager](/api/bootstrap/class/ClusterManager.md) #### function - [setupStickyMaster](/api/bootstrap/function/setupStickyMaster.md) #### interface - [ForkOptions](/api/bootstrap/interface/ForkOptions.md) - [IForkManager ](/api/bootstrap/interface/IForkManager.md) ### bull - [@midwayjs/bull](/api/bull.md) #### class - [BullQueue](/api/bull/class/BullQueue.md) - [Configuration](/api/bull/class/Configuration.md) - [Framework](/api/bull/class/Framework.md) #### function - [InjectQueue](/api/bull/function/InjectQueue.md) - [Processor](/api/bull/function/Processor.md) #### interface - [Application](/api/bull/interface/Application.md) - [Context](/api/bull/interface/Context.md) - [IProcessor](/api/bull/interface/IProcessor.md) - [IQueue ](/api/bull/interface/IQueue.md) - [IQueueManager ](/api/bull/interface/IQueueManager.md) ### bull-board - [@midwayjs/bull-board](/api/bull-board.md) #### class - [BoardMiddleware](/api/bull-board/class/BoardMiddleware.md) - [BullBoardManager](/api/bull-board/class/BullBoardManager.md) - [Configuration](/api/bull-board/class/Configuration.md) - [MidwayAdapter](/api/bull-board/class/MidwayAdapter.md) #### interface - [BullBoardOption](/api/bull-board/interface/BullBoardOption.md) ### bullmq - [@midwayjs/bullmq](/api/bullmq.md) #### class - [BullMQQueue](/api/bullmq/class/BullMQQueue.md) - [Configuration](/api/bullmq/class/Configuration.md) - [Framework](/api/bullmq/class/Framework.md) #### function - [InjectFlowProducer](/api/bullmq/function/InjectFlowProducer.md) - [InjectQueue](/api/bullmq/function/InjectQueue.md) - [InjectWorker](/api/bullmq/function/InjectWorker.md) - [Processor](/api/bullmq/function/Processor.md) #### interface - [Application](/api/bullmq/interface/Application.md) - [BullMQConfig](/api/bullmq/interface/BullMQConfig.md) - [Context](/api/bullmq/interface/Context.md) - [IProcessor](/api/bullmq/interface/IProcessor.md) ### busboy - [@midwayjs/busboy](/api/busboy.md) #### class - [Configuration](/api/busboy/class/Configuration.md) - [MultipartError](/api/busboy/class/MultipartError.md) - [MultipartFieldsLimitError](/api/busboy/class/MultipartFieldsLimitError.md) - [MultipartFileLimitError](/api/busboy/class/MultipartFileLimitError.md) - [MultipartFileSizeLimitError](/api/busboy/class/MultipartFileSizeLimitError.md) - [MultipartInvalidFilenameError](/api/busboy/class/MultipartInvalidFilenameError.md) - [MultipartInvalidFileTypeError](/api/busboy/class/MultipartInvalidFileTypeError.md) - [MultipartPartsLimitError](/api/busboy/class/MultipartPartsLimitError.md) - [UploadMiddleware](/api/busboy/class/UploadMiddleware.md) #### interface - [UploadFileInfo](/api/busboy/interface/UploadFileInfo.md) - [UploadOptions](/api/busboy/interface/UploadOptions.md) - [UploadStreamFieldInfo](/api/busboy/interface/UploadStreamFieldInfo.md) - [UploadStreamFileInfo](/api/busboy/interface/UploadStreamFileInfo.md) ### cache-manager - [@midwayjs/cache-manager](/api/cache-manager.md) #### class - [CachingFactory](/api/cache-manager/class/CachingFactory.md) - [Configuration](/api/cache-manager/class/Configuration.md) #### function - [Caching](/api/cache-manager/function/Caching.md) - [createRedisStore](/api/cache-manager/function/createRedisStore.md) - [getClassMethodDefaultCacheKey](/api/cache-manager/function/getClassMethodDefaultCacheKey.md) #### interface - [RedisStore](/api/cache-manager/interface/RedisStore.md) #### namespace - [CacheManager](/api/cache-manager/namespace/CacheManager.md) ### captcha - [@midwayjs/captcha](/api/captcha.md) #### class - [CaptchaService](/api/captcha/class/CaptchaService.md) - [Configuration](/api/captcha/class/Configuration.md) #### interface - [CaptchaCacheOptions](/api/captcha/interface/CaptchaCacheOptions.md) - [CaptchaOptions](/api/captcha/interface/CaptchaOptions.md) - [FormulaCaptchaOptions](/api/captcha/interface/FormulaCaptchaOptions.md) - [ImageCaptchaOptions](/api/captcha/interface/ImageCaptchaOptions.md) - [TextCaptchaOptions](/api/captcha/interface/TextCaptchaOptions.md) ### casbin - [@midwayjs/casbin](/api/casbin.md) #### class - [AuthGuard](/api/casbin/class/AuthGuard.md) - [abstractBaseAdapter ](/api/casbin/class/BaseAdapter.md) - [CasbinEnforcerService](/api/casbin/class/CasbinEnforcerService.md) - [Configuration](/api/casbin/class/Configuration.md) #### enum - [AuthAction](/api/casbin/enum/AuthAction.md) - [AuthActionVerb](/api/casbin/enum/AuthActionVerb.md) - [AuthPossession](/api/casbin/enum/AuthPossession.md) #### function - [UsePermission](/api/casbin/function/UsePermission.md) #### interface - [CasbinConfigOptions](/api/casbin/interface/CasbinConfigOptions.md) - [Permission](/api/casbin/interface/Permission.md) ### casbin-redis-adapter - [@midwayjs/casbin-redis-adapter](/api/casbin-redis-adapter.md) #### class - [abstractBaseWatcher ](/api/casbin-redis-adapter/class/BaseWatcher.md) - [NodeRedisAdapter](/api/casbin-redis-adapter/class/NodeRedisAdapter.md) - [NodeRedisWatcher](/api/casbin-redis-adapter/class/NodeRedisWatcher.md) #### function - [createAdapter](/api/casbin-redis-adapter/function/createAdapter.md) - [createWatcher](/api/casbin-redis-adapter/function/createWatcher.md) ### casbin-typeorm-adapter - [@midwayjs/casbin-typeorm-adapter](/api/casbin-typeorm-adapter.md) #### class - [CasbinMongoRule](/api/casbin-typeorm-adapter/class/CasbinMongoRule.md) - [CasbinRule](/api/casbin-typeorm-adapter/class/CasbinRule.md) - [TypeORMAdapter](/api/casbin-typeorm-adapter/class/TypeORMAdapter.md): TypeORMAdapter represents the TypeORM filtered adapter for policy storage. #### function - [createAdapter](/api/casbin-typeorm-adapter/function/createAdapter.md) ### code-dye - [@midwayjs/code-dye](/api/code-dye.md) #### class - [CodeDyeMW](/api/code-dye/class/CodeDyeMW.md) - [Configuration](/api/code-dye/class/Configuration.md) #### interface - [CodeDyeOptions](/api/code-dye/interface/CodeDyeOptions.md) ### consul - [@midwayjs/consul](/api/consul.md) #### class - [Configuration](/api/consul/class/Configuration.md) - [ConsulService](/api/consul/class/ConsulService.md) - [ConsulServiceDiscoverClient](/api/consul/class/ConsulServiceDiscoverClient.md): The adapter for consul service discovery - [ConsulServiceDiscovery](/api/consul/class/ConsulServiceDiscovery.md): The service discovery for consul - [ConsulServiceFactory](/api/consul/class/ConsulServiceFactory.md) #### interface - [ConsulHealthItem](/api/consul/interface/ConsulHealthItem.md) - [ConsulInstanceMetadata](/api/consul/interface/ConsulInstanceMetadata.md) - [ConsulServiceDiscoveryOptions](/api/consul/interface/ConsulServiceDiscoveryOptions.md) ### core - [@midwayjs/core](/api/core.md) #### class - [abstractAbstractFileDetector ](/api/core/class/AbstractFileDetector.md) - [abstractBaseFramework ](/api/core/class/BaseFramework.md) - [CommonJSFileDetector](/api/core/class/CommonJSFileDetector.md): CommonJS module loader - [ContextMiddlewareManager ](/api/core/class/ContextMiddlewareManager.md) - [CustomModuleDetector](/api/core/class/CustomModuleDetector.md) - [abstractDataListener ](/api/core/class/DataListener.md) - [abstractDataSourceManager ](/api/core/class/DataSourceManager.md) - [DecoratorManager](/api/core/class/DecoratorManager.md): This class is used to manage the decorator data of the class - [DefaultConsoleLoggerFactory](/api/core/class/DefaultConsoleLoggerFactory.md) - [DynamicMidwayContainer](/api/core/class/DynamicMidwayContainer.md): 尝试用于开发时动态更新的 IoC 容器 - [ESModuleFileDetector](/api/core/class/ESModuleFileDetector.md): ES module loader - [FilterManager ](/api/core/class/FilterManager.md) - [HttpClient](/api/core/class/HttpClient.md): A simple http client - [HttpServerResponse ](/api/core/class/HttpServerResponse.md) - [LoadBalancerFactory](/api/core/class/LoadBalancerFactory.md): 负载均衡工厂 - [abstractLoggerFactory ](/api/core/class/LoggerFactory.md) - [MetadataManager](/api/core/class/MetadataManager.md): A class that manages metadata for classes and properties This class is a simplified version of the Reflect Metadata API Provides a way to retrieve, define, delete and copy metadata - [MidwayApplicationManager](/api/core/class/MidwayApplicationManager.md) - [MidwayAspectService](/api/core/class/MidwayAspectService.md) - [MidwayCodeInvokeTimeoutError](/api/core/class/MidwayCodeInvokeTimeoutError.md) - [MidwayCommonError](/api/core/class/MidwayCommonError.md) - [MidwayConfigMissingError](/api/core/class/MidwayConfigMissingError.md) - [MidwayConfigService](/api/core/class/MidwayConfigService.md) - [MidwayContainer](/api/core/class/MidwayContainer.md): Abstract Object Factory 对象容器抽象 - [MidwayDecoratorService](/api/core/class/MidwayDecoratorService.md) - [MidwayDefinitionNotFoundError](/api/core/class/MidwayDefinitionNotFoundError.md) - [MidwayDuplicateClassNameError](/api/core/class/MidwayDuplicateClassNameError.md) - [MidwayDuplicateControllerOptionsError](/api/core/class/MidwayDuplicateControllerOptionsError.md) - [MidwayDuplicateRouteError](/api/core/class/MidwayDuplicateRouteError.md) - [MidwayEmptyValueError](/api/core/class/MidwayEmptyValueError.md) - [MidwayEnvironmentService](/api/core/class/MidwayEnvironmentService.md) - [MidwayError](/api/core/class/MidwayError.md) - [MidwayFeatureNoLongerSupportedError](/api/core/class/MidwayFeatureNoLongerSupportedError.md) - [MidwayFeatureNotImplementedError](/api/core/class/MidwayFeatureNotImplementedError.md) - [MidwayFrameworkService](/api/core/class/MidwayFrameworkService.md) - [MidwayHealthService](/api/core/class/MidwayHealthService.md) - [MidwayHttpError](/api/core/class/MidwayHttpError.md) - [MidwayInconsistentVersionError](/api/core/class/MidwayInconsistentVersionError.md) - [MidwayInformationService](/api/core/class/MidwayInformationService.md) - [MidwayInvalidConfigError](/api/core/class/MidwayInvalidConfigError.md) - [MidwayInvalidConfigPropertyError](/api/core/class/MidwayInvalidConfigPropertyError.md) - [MidwayInvokeForbiddenError](/api/core/class/MidwayInvokeForbiddenError.md) - [MidwayLifeCycleService](/api/core/class/MidwayLifeCycleService.md) - [MidwayLoggerService](/api/core/class/MidwayLoggerService.md): 多客户端工厂实现 - [MidwayMainFrameworkMissingError](/api/core/class/MidwayMainFrameworkMissingError.md) - [MidwayMiddlewareService ](/api/core/class/MidwayMiddlewareService.md) - [MidwayMissingImportComponentError](/api/core/class/MidwayMissingImportComponentError.md) - [MidwayMockService](/api/core/class/MidwayMockService.md) - [MidwayParameterError](/api/core/class/MidwayParameterError.md) - [MidwayPerformanceManager](/api/core/class/MidwayPerformanceManager.md) - [MidwayPriorityManager](/api/core/class/MidwayPriorityManager.md) - [MidwayRequestContainer](/api/core/class/MidwayRequestContainer.md): Abstract Object Factory 对象容器抽象 - [MidwayRetryExceededMaxTimesError](/api/core/class/MidwayRetryExceededMaxTimesError.md) - [MidwayServerlessFunctionService](/api/core/class/MidwayServerlessFunctionService.md) - [MidwaySingletonInjectRequestError](/api/core/class/MidwaySingletonInjectRequestError.md) - [MidwayTraceService](/api/core/class/MidwayTraceService.md) - [MidwayUseWrongMethodError](/api/core/class/MidwayUseWrongMethodError.md) - [MidwayUtilHttpClientTimeoutError](/api/core/class/MidwayUtilHttpClientTimeoutError.md) - [MidwayWebRouterService](/api/core/class/MidwayWebRouterService.md) - [RandomLoadBalance ](/api/core/class/RandomLoadBalance.md): 随机负载均衡策略 - [RoundRobinLoadBalancer ](/api/core/class/RoundRobinLoadBalancer.md): 轮询负载均衡策略 - [ServerResponse ](/api/core/class/ServerResponse.md) - [abstractServiceDiscovery ](/api/core/class/ServiceDiscovery.md): 服务发现抽象类 - [abstractServiceDiscoveryClient ](/api/core/class/ServiceDiscoveryClient.md) - [abstractServiceFactory ](/api/core/class/ServiceFactory.md): 多客户端工厂实现 - [TypedResourceManager ](/api/core/class/TypedResourceManager.md) - [abstractWebControllerGenerator ](/api/core/class/WebControllerGenerator.md) #### enum - [GrpcStreamTypeEnum](/api/core/enum/GrpcStreamTypeEnum.md) - [HttpStatus](/api/core/enum/HttpStatus.md) - [InjectModeEnum](/api/core/enum/InjectModeEnum.md) - [MidwayProcessTypeEnum](/api/core/enum/MidwayProcessTypeEnum.md) - [MSListenerType](/api/core/enum/MSListenerType.md) - [MSProviderType](/api/core/enum/MSProviderType.md) - [ObjectLifeCycleEvent](/api/core/enum/ObjectLifeCycleEvent.md) - [RouteParamTypes](/api/core/enum/RouteParamTypes.md) - [ScopeEnum](/api/core/enum/ScopeEnum.md) - [ServerlessTriggerType](/api/core/enum/ServerlessTriggerType.md) - [WSEventTypeEnum](/api/core/enum/WSEventTypeEnum.md) #### function - [All](/api/core/function/All.md) - [AllConfig](/api/core/function/AllConfig.md) - [App](/api/core/function/App.md) - [ApplicationContext](/api/core/function/ApplicationContext.md) - [Aspect](/api/core/function/Aspect.md) - [attachClassMetadata](/api/core/function/attachClassMetadata.md) - [attachPropertyDataToClass](/api/core/function/attachPropertyDataToClass.md) - [attachPropertyMetadata](/api/core/function/attachPropertyMetadata.md) - [Autoload](/api/core/function/Autoload.md) - [Body](/api/core/function/Body.md) - [Catch](/api/core/function/Catch.md) - [clearAllModule](/api/core/function/clearAllModule.md) - [Config](/api/core/function/Config.md) - [Configuration](/api/core/function/Configuration.md) - [Consumer](/api/core/function/Consumer.md) - [ContentType](/api/core/function/ContentType.md) - [Controller](/api/core/function/Controller.md) - [createCustomMethodDecorator](/api/core/function/createCustomMethodDecorator.md) - [createCustomParamDecorator](/api/core/function/createCustomParamDecorator.md) - [createCustomPropertyDecorator](/api/core/function/createCustomPropertyDecorator.md) - [createMiddleware](/api/core/function/createMiddleware.md) - [createRender](/api/core/function/createRender.md) - [createRequestParamDecorator](/api/core/function/createRequestParamDecorator.md) - [Del](/api/core/function/Del.md) - [delegateTargetAllPrototypeMethod](/api/core/function/delegateTargetAllPrototypeMethod.md) - [delegateTargetMethod](/api/core/function/delegateTargetMethod.md) - [delegateTargetProperties](/api/core/function/delegateTargetProperties.md) - [delegateTargetPrototypeMethod](/api/core/function/delegateTargetPrototypeMethod.md) - [deprecatedOutput](/api/core/function/deprecatedOutput.md) - [Destroy](/api/core/function/Destroy.md) - [destroyGlobalApplicationContext](/api/core/function/destroyGlobalApplicationContext.md) - [DubboMethod](/api/core/function/DubboMethod.md) - [Emit](/api/core/function/Emit.md) - [extend](/api/core/function/extend.md) - [extractExpressLikeValue](/api/core/function/extractExpressLikeValue.md) - [extractKoaLikeValue](/api/core/function/extractKoaLikeValue.md) - [Fields](/api/core/function/Fields.md) - [File](/api/core/function/File.md) - [Files](/api/core/function/Files.md) - [Framework](/api/core/function/Framework.md) - [Get](/api/core/function/Get.md) - [getClassExtendedMetadata](/api/core/function/getClassExtendedMetadata.md) - [getClassMetadata](/api/core/function/getClassMetadata.md) - [getCurrentApplicationContext](/api/core/function/getCurrentApplicationContext.md) - [getCurrentAsyncContextManager](/api/core/function/getCurrentAsyncContextManager.md) - [getCurrentMainApp](/api/core/function/getCurrentMainApp.md) - [getCurrentMainFramework](/api/core/function/getCurrentMainFramework.md) - [getMethodParamTypes](/api/core/function/getMethodParamTypes.md) - [getObjectDefinition](/api/core/function/getObjectDefinition.md) - [getPropertyDataFromClass](/api/core/function/getPropertyDataFromClass.md) - [getPropertyInject](/api/core/function/getPropertyInject.md) - [getPropertyMetadata](/api/core/function/getPropertyMetadata.md) - [getPropertyType](/api/core/function/getPropertyType.md) - [getProviderId](/api/core/function/getProviderId.md) - [getProviderName](/api/core/function/getProviderName.md) - [getProviderUUId](/api/core/function/getProviderUUId.md) - [GrpcMethod](/api/core/function/GrpcMethod.md) - [Guard](/api/core/function/Guard.md) - [Head](/api/core/function/Head.md) - [Headers](/api/core/function/Headers.md) - [HttpCode](/api/core/function/HttpCode.md) - [Init](/api/core/function/Init.md) - [initializeGlobalApplicationContext](/api/core/function/initializeGlobalApplicationContext.md) - [Inject](/api/core/function/Inject.md) - [InjectClient](/api/core/function/InjectClient.md) - [isProvide](/api/core/function/isProvide.md) - [isTypeScriptEnvironment](/api/core/function/isTypeScriptEnvironment.md) - [KafkaListener](/api/core/function/KafkaListener.md) - [LazyInject](/api/core/function/LazyInject.md) - [listModule](/api/core/function/listModule.md) - [listPreloadModule](/api/core/function/listPreloadModule.md) - [listPropertyDataFromClass](/api/core/function/listPropertyDataFromClass.md) - [loadModule](/api/core/function/loadModule.md) - [Logger](/api/core/function/Logger.md) - [MainApp](/api/core/function/MainApp.md) - [makeHttpRequest](/api/core/function/makeHttpRequest.md) - [Match](/api/core/function/Match.md) - [Middleware](/api/core/function/Middleware.md) - [Mock](/api/core/function/Mock.md) - [OnConnection](/api/core/function/OnConnection.md) - [OnDisConnection](/api/core/function/OnDisConnection.md) - [OnMessage](/api/core/function/OnMessage.md) - [OnWSConnection](/api/core/function/OnWSConnection.md) - [OnWSDisConnection](/api/core/function/OnWSDisConnection.md) - [OnWSMessage](/api/core/function/OnWSMessage.md) - [Options](/api/core/function/Options.md) - [Param](/api/core/function/Param.md) - [Patch](/api/core/function/Patch.md) - [pathMatching](/api/core/function/pathMatching.md) - [Pipe](/api/core/function/Pipe.md) - [Plugin](/api/core/function/Plugin.md) - [Post](/api/core/function/Post.md) - [prepareGlobalApplicationContext](/api/core/function/prepareGlobalApplicationContext.md) - [prepareGlobalApplicationContextAsync](/api/core/function/prepareGlobalApplicationContextAsync.md) - [Provide](/api/core/function/Provide.md) - [Provider](/api/core/function/Provider.md) - [providerWrapper](/api/core/function/providerWrapper.md) - [Put](/api/core/function/Put.md) - [Queries](/api/core/function/Queries.md) - [Query](/api/core/function/Query.md) - [Queue](/api/core/function/Queue.md) - [RabbitMQListener](/api/core/function/RabbitMQListener.md) - [Redirect](/api/core/function/Redirect.md) - [registerErrorCode](/api/core/function/registerErrorCode.md) - [RequestIP](/api/core/function/RequestIP.md) - [RequestMapping](/api/core/function/RequestMapping.md) - [RequestPath](/api/core/function/RequestPath.md) - [resetModule](/api/core/function/resetModule.md) - [retryWith](/api/core/function/retryWith.md) - [retryWithAsync](/api/core/function/retryWithAsync.md) - [safelyGet](/api/core/function/safelyGet.md) - [safeRequire](/api/core/function/safeRequire.md) - [saveClassMetadata](/api/core/function/saveClassMetadata.md) - [saveModule](/api/core/function/saveModule.md) - [saveObjectDefinition](/api/core/function/saveObjectDefinition.md) - [savePreloadModule](/api/core/function/savePreloadModule.md) - [savePropertyDataToClass](/api/core/function/savePropertyDataToClass.md) - [savePropertyInject](/api/core/function/savePropertyInject.md) - [savePropertyMetadata](/api/core/function/savePropertyMetadata.md) - [saveProviderId](/api/core/function/saveProviderId.md) - [Schedule](/api/core/function/Schedule.md) - [Scope](/api/core/function/Scope.md) - [ServerlessFunction](/api/core/function/ServerlessFunction.md) - [ServerlessTrigger](/api/core/function/ServerlessTrigger.md) - [Session](/api/core/function/Session.md) - [SetHeader](/api/core/function/SetHeader.md) - [Singleton](/api/core/function/Singleton.md) - [sleep](/api/core/function/sleep.md) - [Task](/api/core/function/Task.md) - [TaskLocal](/api/core/function/TaskLocal.md) - [Trace](/api/core/function/Trace.md) - [transformRequestObjectByType](/api/core/function/transformRequestObjectByType.md) - [UseGuard](/api/core/function/UseGuard.md) - [wrapAsync](/api/core/function/wrapAsync.md) - [wrapMiddleware](/api/core/function/wrapMiddleware.md) - [WSBroadCast](/api/core/function/WSBroadCast.md) - [WSController](/api/core/function/WSController.md) - [WSEmit](/api/core/function/WSEmit.md) #### interface - [AspectMetadata](/api/core/interface/AspectMetadata.md) - [AsyncContext](/api/core/interface/AsyncContext.md) - [AsyncContextManager](/api/core/interface/AsyncContextManager.md) - [BaseServiceDiscoveryHealthCheckOptions](/api/core/interface/BaseServiceDiscoveryHealthCheckOptions.md): 基础健康检查配置 - [CommonSchedule](/api/core/interface/CommonSchedule.md) - [ConstructorInjectMetadata](/api/core/interface/ConstructorInjectMetadata.md): Metadata when using - [Context](/api/core/interface/Context.md) - [ControllerOption](/api/core/interface/ControllerOption.md) - [DataSourceManagerConfigOption ](/api/core/interface/DataSourceManagerConfigOption.md) - [DefaultInstanceMetadata](/api/core/interface/DefaultInstanceMetadata.md) - [DuplicateRouteErrorEntry](/api/core/interface/DuplicateRouteErrorEntry.md) - [DuplicateRouteErrorPayload](/api/core/interface/DuplicateRouteErrorPayload.md) - [HealthResult](/api/core/interface/HealthResult.md) - [HealthResults](/api/core/interface/HealthResults.md) - [HttpClientOptions ](/api/core/interface/HttpClientOptions.md) - [HttpClientResponse ](/api/core/interface/HttpClientResponse.md) - [HTTPServiceDiscoveryHealthCheckOptions](/api/core/interface/HTTPServiceDiscoveryHealthCheckOptions.md): HTTP 健康检查配置 - [IComponentInfo](/api/core/interface/IComponentInfo.md) - [IConfigService](/api/core/interface/IConfigService.md) - [IConfigurationOptions](/api/core/interface/IConfigurationOptions.md) - [IDataSourceManager ](/api/core/interface/IDataSourceManager.md) - [IEnvironmentService](/api/core/interface/IEnvironmentService.md) - [IFileDetector](/api/core/interface/IFileDetector.md) - [IFilter ](/api/core/interface/IFilter.md): Common Exception Filter definition - [IGuard ](/api/core/interface/IGuard.md): Guard definition - [IIdentifierRelationShip](/api/core/interface/IIdentifierRelationShip.md) - [IInformationService](/api/core/interface/IInformationService.md) - [ILifeCycle](/api/core/interface/ILifeCycle.md): Lifecycle Definition 生命周期定义 - [ILoadBalancer ](/api/core/interface/ILoadBalancer.md): 负载均衡策略接口 - [ILogger](/api/core/interface/ILogger.md): Logger Options for midway, you can merge this interface in package - [IMethodAspect](/api/core/interface/IMethodAspect.md) - [IMiddleware ](/api/core/interface/IMiddleware.md): Common middleware definition - [IMiddlewareManager ](/api/core/interface/IMiddlewareManager.md) - [IMidwayBaseApplication ](/api/core/interface/IMidwayBaseApplication.md) - [IMidwayBootstrapOptions](/api/core/interface/IMidwayBootstrapOptions.md) - [IMidwayContainer](/api/core/interface/IMidwayContainer.md): Abstract Object Factory 对象容器抽象 - [IMidwayFramework ](/api/core/interface/IMidwayFramework.md) - [IMidwayGlobalContainer](/api/core/interface/IMidwayGlobalContainer.md): Abstract Object Factory 对象容器抽象 - [IMidwayRequestContainer](/api/core/interface/IMidwayRequestContainer.md): Abstract Object Factory 对象容器抽象 - [InjectionConfigurationOptions](/api/core/interface/InjectionConfigurationOptions.md) - [IObjectCreator](/api/core/interface/IObjectCreator.md) - [IObjectDefinition](/api/core/interface/IObjectDefinition.md): Object Definition 对象描述定义 - [IObjectDefinitionRegistry](/api/core/interface/IObjectDefinitionRegistry.md): Object Definition Registry 对象定义存储容器 - [IObjectFactory](/api/core/interface/IObjectFactory.md): Abstract Object Factory 对象容器抽象 - [IObjectLifeCycle](/api/core/interface/IObjectLifeCycle.md): Object Lifecycle 对象生命周期 - [IServiceDiscoveryClient ](/api/core/interface/IServiceDiscoveryClient.md) - [IServiceDiscoveryHealthCheck ](/api/core/interface/IServiceDiscoveryHealthCheck.md) - [IServiceFactory ](/api/core/interface/IServiceFactory.md) - [ISimulation](/api/core/interface/ISimulation.md) - [JoinPoint](/api/core/interface/JoinPoint.md) - [KafkaListenerOptions](/api/core/interface/KafkaListenerOptions.md) - [LifeCycleInvokeOptions](/api/core/interface/LifeCycleInvokeOptions.md) - [MethodDecoratorMetaData ](/api/core/interface/MethodDecoratorMetaData.md) - [MethodDecoratorOptions](/api/core/interface/MethodDecoratorOptions.md) - [MidwayAppInfo](/api/core/interface/MidwayAppInfo.md) - [MidwayConfig](/api/core/interface/MidwayConfig.md): midway global config definition - [MidwayCoreDefaultConfig](/api/core/interface/MidwayCoreDefaultConfig.md) - [MidwayLoggerOptions](/api/core/interface/MidwayLoggerOptions.md): Logger Options for midway, you can merge this interface in package - [ObjectBeforeBindOptions](/api/core/interface/ObjectBeforeBindOptions.md) - [ObjectBeforeCreatedOptions](/api/core/interface/ObjectBeforeCreatedOptions.md) - [ObjectBeforeDestroyOptions](/api/core/interface/ObjectBeforeDestroyOptions.md) - [ObjectCreatedOptions ](/api/core/interface/ObjectCreatedOptions.md) - [ObjectDefinitionOptions](/api/core/interface/ObjectDefinitionOptions.md) - [ObjectInitOptions](/api/core/interface/ObjectInitOptions.md) - [ParamDecoratorOptions](/api/core/interface/ParamDecoratorOptions.md) - [ParameterDecoratorMetaData ](/api/core/interface/ParameterDecoratorMetaData.md) - [PipeTransform ](/api/core/interface/PipeTransform.md) - [PropertyDecoratorOptions](/api/core/interface/PropertyDecoratorOptions.md) - [PropertyInjectMetadata](/api/core/interface/PropertyInjectMetadata.md): Metadata when using - [RabbitMQListenerOptions](/api/core/interface/RabbitMQListenerOptions.md) - [ReflectResult](/api/core/interface/ReflectResult.md) - [RouterCollectorOptions](/api/core/interface/RouterCollectorOptions.md) - [RouterInfo](/api/core/interface/RouterInfo.md) - [RouterOption](/api/core/interface/RouterOption.md) - [RouterParamValue](/api/core/interface/RouterParamValue.md) - [RouterPriority](/api/core/interface/RouterPriority.md) - [ScheduleOpts](/api/core/interface/ScheduleOpts.md) - [ServerSendEventMessage](/api/core/interface/ServerSendEventMessage.md) - [ServerSendEventStreamOptions ](/api/core/interface/ServerSendEventStreamOptions.md) - [ServerStreamOptions ](/api/core/interface/ServerStreamOptions.md) - [ServiceDiscoveryBaseInstance](/api/core/interface/ServiceDiscoveryBaseInstance.md) - [ServiceDiscoveryHealthCheckResult](/api/core/interface/ServiceDiscoveryHealthCheckResult.md): 健康检查结果 - [ServiceDiscoveryOptions ](/api/core/interface/ServiceDiscoveryOptions.md) - [TagClsMetadata](/api/core/interface/TagClsMetadata.md) - [TagPropsMetadata](/api/core/interface/TagPropsMetadata.md) - [TCPServiceDiscoveryHealthCheckOptions](/api/core/interface/TCPServiceDiscoveryHealthCheckOptions.md): TCP 健康检查配置 - [TraceMetaResolverArgs](/api/core/interface/TraceMetaResolverArgs.md) - [TransformOptions ](/api/core/interface/TransformOptions.md) - [TSDesignType ](/api/core/interface/TSDesignType.md) - [TTLServiceDiscoveryHealthCheckOptions](/api/core/interface/TTLServiceDiscoveryHealthCheckOptions.md): TTL 健康检查配置 - [WSControllerOption](/api/core/interface/WSControllerOption.md) - [WSEventInfo](/api/core/interface/WSEventInfo.md) #### namespace - [ConsumerMetadata](/api/core/namespace/ConsumerMetadata.md) - [FaaSMetadata](/api/core/namespace/FaaSMetadata.md) - [GRPCMetadata](/api/core/namespace/GRPCMetadata.md): grpc decorator metadata format ### cos - [@midwayjs/cos](/api/cos.md) #### class - [Configuration](/api/cos/class/Configuration.md) - [COSService](/api/cos/class/COSService.md) - [COSServiceFactory](/api/cos/class/COSServiceFactory.md) ### cron - [@midwayjs/cron](/api/cron.md) #### class - [Configuration](/api/cron/class/Configuration.md) - [Framework](/api/cron/class/Framework.md) #### function - [InjectJob](/api/cron/function/InjectJob.md) - [Job](/api/cron/function/Job.md) #### interface - [Application](/api/cron/interface/Application.md) - [Context](/api/cron/interface/Context.md) - [CronOptions](/api/cron/interface/CronOptions.md) - [IJob](/api/cron/interface/IJob.md) ### cross-domain - [@midwayjs/cross-domain](/api/cross-domain.md) #### class - [Configuration](/api/cross-domain/class/Configuration.md) - [CorsMiddleware](/api/cross-domain/class/CorsMiddleware.md) - [JSONPFilter](/api/cross-domain/class/JSONPFilter.md) - [JSONPMiddleware](/api/cross-domain/class/JSONPMiddleware.md) - [JSONPService](/api/cross-domain/class/JSONPService.md) #### interface - [CORSOptions](/api/cross-domain/interface/CORSOptions.md) - [JSONPOptions](/api/cross-domain/interface/JSONPOptions.md) ### etcd - [@midwayjs/etcd](/api/etcd.md) #### class - [Configuration](/api/etcd/class/Configuration.md) - [ETCDService](/api/etcd/class/ETCDService.md) - [EtcdServiceDiscoverClient](/api/etcd/class/EtcdServiceDiscoverClient.md) - [EtcdServiceDiscovery](/api/etcd/class/EtcdServiceDiscovery.md) - [ETCDServiceFactory](/api/etcd/class/ETCDServiceFactory.md) ### event-emitter - [@midwayjs/event-emitter](/api/event-emitter.md) #### class - [Configuration](/api/event-emitter/class/Configuration.md) - [EventEmitterService](/api/event-emitter/class/EventEmitterService.md) #### function - [OnEvent](/api/event-emitter/function/OnEvent.md) #### interface - [EventEmitterConfigOptions](/api/event-emitter/interface/EventEmitterConfigOptions.md) ### express-session - [@midwayjs/express-session](/api/express-session.md) #### class - [Configuration](/api/express-session/class/Configuration.md) - [SessionMiddleware](/api/express-session/class/SessionMiddleware.md) - [SessionStoreManager](/api/express-session/class/SessionStoreManager.md) ### faas - [@midwayjs/faas](/api/faas.md) #### class - [abstractAbstractBootstrapStarter](/api/faas/class/AbstractBootstrapStarter.md) - [Configuration](/api/faas/class/Configuration.md) - [Framework](/api/faas/class/Framework.md) #### function - [Event](/api/faas/function/Event.md) #### interface - [Application](/api/faas/interface/Application.md) - [Context](/api/faas/interface/Context.md) - [FaaSContext](/api/faas/interface/FaaSContext.md) - [FaaSHTTPContext](/api/faas/interface/FaaSHTTPContext.md) - [FaaSHTTPRequest](/api/faas/interface/FaaSHTTPRequest.md) - [FaaSHTTPResponse](/api/faas/interface/FaaSHTTPResponse.md) - [FormatResponseOptions](/api/faas/interface/FormatResponseOptions.md) - [HandlerOptions](/api/faas/interface/HandlerOptions.md) - [HttpResponseFormat ](/api/faas/interface/HttpResponseFormat.md) - [IFaaSConfigurationOptions](/api/faas/interface/IFaaSConfigurationOptions.md) - [IWebMiddleware](/api/faas/interface/IWebMiddleware.md) - [ServerlessStarterOptions](/api/faas/interface/ServerlessStarterOptions.md) - [State](/api/faas/interface/State.md) - [wrapHttpRequestOptions](/api/faas/interface/wrapHttpRequestOptions.md) ### grpc - [@midwayjs/grpc](/api/grpc.md) #### class - [Clients](/api/grpc/class/Clients.md) - [Configuration](/api/grpc/class/Configuration.md) - [Framework](/api/grpc/class/Framework.md) #### function - [createGRPCConsumer](/api/grpc/function/createGRPCConsumer.md) - [loadProto](/api/grpc/function/loadProto.md) #### interface - [Context ](/api/grpc/interface/Context.md) - [DefaultConfig](/api/grpc/interface/DefaultConfig.md) - [IClientDuplexStreamService ](/api/grpc/interface/IClientDuplexStreamService.md) - [IClientOptions](/api/grpc/interface/IClientOptions.md) - [IClientReadableStreamService ](/api/grpc/interface/IClientReadableStreamService.md) - [IClientUnaryService ](/api/grpc/interface/IClientUnaryService.md) - [IClientWritableStreamService ](/api/grpc/interface/IClientWritableStreamService.md) - [IGRPCClientServiceOptions](/api/grpc/interface/IGRPCClientServiceOptions.md) - [IGRPCServiceOptions](/api/grpc/interface/IGRPCServiceOptions.md) - [IMidwayGRPFrameworkOptions](/api/grpc/interface/IMidwayGRPFrameworkOptions.md) ### http-proxy - [@midwayjs/http-proxy](/api/http-proxy.md) #### class - [Configuration](/api/http-proxy/class/Configuration.md) - [HttpProxyMiddleware](/api/http-proxy/class/HttpProxyMiddleware.md) #### interface - [HttpProxyConfig](/api/http-proxy/interface/HttpProxyConfig.md) - [HttpProxyStrategy](/api/http-proxy/interface/HttpProxyStrategy.md) ### i18n - [@midwayjs/i18n](/api/i18n.md) #### class - [Configuration](/api/i18n/class/Configuration.md) - [I18nFilter](/api/i18n/class/I18nFilter.md) - [I18nMiddleware](/api/i18n/class/I18nMiddleware.md) - [MidwayI18nService](/api/i18n/class/MidwayI18nService.md) - [MidwayI18nServiceSingleton](/api/i18n/class/MidwayI18nServiceSingleton.md) #### function - [formatLocale](/api/i18n/function/formatLocale.md) #### interface - [I18nOptions](/api/i18n/interface/I18nOptions.md) - [RequestResolver](/api/i18n/interface/RequestResolver.md) - [TranslateOptions](/api/i18n/interface/TranslateOptions.md) ### info - [@midwayjs/info](/api/info.md) #### class - [Configuration](/api/info/class/Configuration.md) - [InfoMiddleware](/api/info/class/InfoMiddleware.md) - [InfoService](/api/info/class/InfoService.md) #### enum - [InfoType](/api/info/enum/InfoType.md) #### interface - [InfoConfigOptions](/api/info/interface/InfoConfigOptions.md) - [TypeInfo](/api/info/interface/TypeInfo.md) ### jwt - [@midwayjs/jwt](/api/jwt.md) #### class - [Configuration](/api/jwt/class/Configuration.md) - [JwtService](/api/jwt/class/JwtService.md): @see{@link https://github.com/auth0/node-jsonwebtoken} ### kafka - [@midwayjs/kafka](/api/kafka.md) #### class - [Configuration](/api/kafka/class/Configuration.md) - [Framework](/api/kafka/class/Framework.md) - [KafkaAdminFactory](/api/kafka/class/KafkaAdminFactory.md) - [KafkaProducerFactory](/api/kafka/class/KafkaProducerFactory.md) #### function - [KafkaConsumer](/api/kafka/function/KafkaConsumer.md) #### interface - [Context](/api/kafka/interface/Context.md) - [IKafkaApplication](/api/kafka/interface/IKafkaApplication.md) - [IKafkaConsumer](/api/kafka/interface/IKafkaConsumer.md) - [IKafkaConsumerInitOptions](/api/kafka/interface/IKafkaConsumerInitOptions.md): The options for the kafka consumer initialization in midway - [IMidwayConsumerConfig](/api/kafka/interface/IMidwayConsumerConfig.md): 客户端的相关配置,在midwayjs的自定义配置项 - [IMidwayKafkaAdminInitOptions](/api/kafka/interface/IMidwayKafkaAdminInitOptions.md): The options for the kafka admin initialization in midway - [IMidwayKafkaConfigurationOptions](/api/kafka/interface/IMidwayKafkaConfigurationOptions.md) - [IMidwayKafkaProducerInitOptions](/api/kafka/interface/IMidwayKafkaProducerInitOptions.md): The options for the kafka producer initialization in midway ### leoric - [@midwayjs/leoric](/api/leoric.md) #### class - [Configuration](/api/leoric/class/Configuration.md) - [LeoricDataSourceManager](/api/leoric/class/LeoricDataSourceManager.md) #### function - [InjectDataSource](/api/leoric/function/InjectDataSource.md) - [InjectModel](/api/leoric/function/InjectModel.md) ### mcp - [@midwayjs/mcp](/api/mcp.md) #### class - [Configuration](/api/mcp/class/Configuration.md) - [MCPAuthInfoMiddleware](/api/mcp/class/MCPAuthInfoMiddleware.md) - [MidwayMCPFramework](/api/mcp/class/MidwayMCPFramework.md) #### function - [Prompt](/api/mcp/function/Prompt.md) - [Resource](/api/mcp/function/Resource.md) - [Tool](/api/mcp/function/Tool.md) #### interface - [Context](/api/mcp/interface/Context.md) - [IMcpPrompt](/api/mcp/interface/IMcpPrompt.md) - [IMcpResource](/api/mcp/interface/IMcpResource.md) - [IMcpTool](/api/mcp/interface/IMcpTool.md) - [IMidwayMCPConfigurationOptions](/api/mcp/interface/IMidwayMCPConfigurationOptions.md) - [IMidwayMCPContext](/api/mcp/interface/IMidwayMCPContext.md) ### mikro - [@midwayjs/mikro](/api/mikro.md) #### class - [Configuration](/api/mikro/class/Configuration.md) - [MikroDataSourceManager](/api/mikro/class/MikroDataSourceManager.md) #### function - [InjectDataSource](/api/mikro/function/InjectDataSource.md) - [InjectEntityManager](/api/mikro/function/InjectEntityManager.md) - [InjectRepository](/api/mikro/function/InjectRepository.md) ### mock - [@midwayjs/mock](/api/mock.md) #### class - [SocketIOWrapperClient](/api/mock/class/SocketIOWrapperClient.md) - [SSEClient](/api/mock/class/SSEClient.md) #### function - [close](/api/mock/function/close.md) - [create](/api/mock/function/create.md) - [createApp](/api/mock/function/createApp.md) - [createBootstrap](/api/mock/function/createBootstrap.md) - [createFunctionApp](/api/mock/function/createFunctionApp.md) - [createHttpRequest](/api/mock/function/createHttpRequest.md) - [createKafkaProducer](/api/mock/function/createKafkaProducer.md) - [createLegacyApp](/api/mock/function/createLegacyApp.md) - [createLegacyFunctionApp](/api/mock/function/createLegacyFunctionApp.md) - [createLegacyLightApp](/api/mock/function/createLegacyLightApp.md) - [createLightApp](/api/mock/function/createLightApp.md) - [createRabbitMQProducer](/api/mock/function/createRabbitMQProducer.md) - [createSocketIOClient](/api/mock/function/createSocketIOClient.md) - [createSSEClient](/api/mock/function/createSSEClient.md) - [createWebSocketClient](/api/mock/function/createWebSocketClient.md) - [mockClassProperty](/api/mock/function/mockClassProperty.md) - [mockContext](/api/mock/function/mockContext.md) - [mockHeader](/api/mock/function/mockHeader.md) - [mockProperty](/api/mock/function/mockProperty.md) - [mockSession](/api/mock/function/mockSession.md) - [processArgsParser](/api/mock/function/processArgsParser.md) - [restoreAllMocks](/api/mock/function/restoreAllMocks.md) - [restoreMocks](/api/mock/function/restoreMocks.md) - [transformFrameworkToConfiguration](/api/mock/function/transformFrameworkToConfiguration.md) #### interface - [MidwaySocketIOClientOptions](/api/mock/interface/MidwaySocketIOClientOptions.md) - [SSEClientOptions](/api/mock/interface/SSEClientOptions.md) ### mongoose - [@midwayjs/mongoose](/api/mongoose.md) #### class - [Configuration](/api/mongoose/class/Configuration.md) - [MongooseConnectionService](/api/mongoose/class/MongooseConnectionService.md) - [MongooseConnectionServiceFactory](/api/mongoose/class/MongooseConnectionServiceFactory.md) - [MongooseDataSourceManager](/api/mongoose/class/MongooseDataSourceManager.md) ### mqtt - [@midwayjs/mqtt](/api/mqtt.md) #### class - [Configuration](/api/mqtt/class/Configuration.md) - [DefaultMqttProducer](/api/mqtt/class/DefaultMqttProducer.md) - [Framework](/api/mqtt/class/Framework.md) - [MqttProducerFactory](/api/mqtt/class/MqttProducerFactory.md) #### function - [MqttSubscriber](/api/mqtt/function/MqttSubscriber.md) #### interface - [Context](/api/mqtt/interface/Context.md) - [IMidwayMQTTConfigurationOptions](/api/mqtt/interface/IMidwayMQTTConfigurationOptions.md) - [IMqttSubscriber](/api/mqtt/interface/IMqttSubscriber.md) - [MqttSubscriberOptions](/api/mqtt/interface/MqttSubscriberOptions.md) ### nextjs - [@midwayjs/nextjs](/api/nextjs.md) #### class - [Configuration](/api/nextjs/class/Configuration.md) - [NextJSMiddleware](/api/nextjs/class/NextJSMiddleware.md) #### function - [createClient](/api/nextjs/function/createClient.md) - [createNextjsApiClient](/api/nextjs/function/createNextjsApiClient.md) - [createNextjsApiClientFromOperations](/api/nextjs/function/createNextjsApiClientFromOperations.md) - [resolveNextjsApiBridgeOptions](/api/nextjs/function/resolveNextjsApiBridgeOptions.md) ### oss - [@midwayjs/oss](/api/oss.md) #### class - [Configuration](/api/oss/class/Configuration.md) - [OSSService](/api/oss/class/OSSService.md) - [OSSServiceFactory ](/api/oss/class/OSSServiceFactory.md) - [OSSSTSService](/api/oss/class/OSSSTSService.md) #### interface - [MWOSSClusterOptions](/api/oss/interface/MWOSSClusterOptions.md) - [MWOSSOptions](/api/oss/interface/MWOSSOptions.md) - [MWOSSSTSOptions](/api/oss/interface/MWOSSSTSOptions.md) ### passport - [@midwayjs/passport](/api/passport.md) #### class - [abstractAbstractPassportMiddleware](/api/passport/class/AbstractPassportMiddleware.md) - [Configuration](/api/passport/class/Configuration.md) - [PassportAuthenticator](/api/passport/class/PassportAuthenticator.md) #### function - [CustomStrategy](/api/passport/function/CustomStrategy.md) - [PassportMiddleware](/api/passport/function/PassportMiddleware.md) - [PassportStrategy](/api/passport/function/PassportStrategy.md) #### interface - [AuthenticateOptions](/api/passport/interface/AuthenticateOptions.md) - [IPassportMiddleware](/api/passport/interface/IPassportMiddleware.md) - [IPassportStrategy](/api/passport/interface/IPassportStrategy.md) - [StrategyCreatedStatic](/api/passport/interface/StrategyCreatedStatic.md) ### prometheus - [@midwayjs/prometheus](/api/prometheus.md) #### class - [Configuration](/api/prometheus/class/Configuration.md) - [DataService](/api/prometheus/class/DataService.md) ### prometheus-socket-io - [@midwayjs/prometheus-socket-io](/api/prometheus-socket-io.md) #### class - [Configuration](/api/prometheus-socket-io/class/Configuration.md) ### rabbitmq - [@midwayjs/rabbitmq](/api/rabbitmq.md) #### class - [Configuration](/api/rabbitmq/class/Configuration.md) - [Framework](/api/rabbitmq/class/Framework.md) #### interface - [Context](/api/rabbitmq/interface/Context.md) - [IMidwayRabbitMQConfigurationOptions](/api/rabbitmq/interface/IMidwayRabbitMQConfigurationOptions.md) - [IRabbitMQApplication](/api/rabbitmq/interface/IRabbitMQApplication.md) - [IRabbitMQExchange](/api/rabbitmq/interface/IRabbitMQExchange.md) ### redis - [@midwayjs/redis](/api/redis.md) #### class - [Configuration](/api/redis/class/Configuration.md) - [RedisService](/api/redis/class/RedisService.md) - [RedisServiceDiscoverClient](/api/redis/class/RedisServiceDiscoverClient.md) - [RedisServiceDiscovery](/api/redis/class/RedisServiceDiscovery.md) - [RedisServiceFactory](/api/redis/class/RedisServiceFactory.md) #### interface - [RedisInstanceMetadata](/api/redis/interface/RedisInstanceMetadata.md) - [RedisServiceDiscoveryOptions](/api/redis/interface/RedisServiceDiscoveryOptions.md) ### security - [@midwayjs/security](/api/security.md) #### class - [Configuration](/api/security/class/Configuration.md) - [CSPMiddleware](/api/security/class/CSPMiddleware.md) - [CsrfMiddleware](/api/security/class/CsrfMiddleware.md) - [HSTSMiddleware](/api/security/class/HSTSMiddleware.md) - [NoOpenMiddleware](/api/security/class/NoOpenMiddleware.md) - [NoSniffMiddleware](/api/security/class/NoSniffMiddleware.md) - [SecurityHelper](/api/security/class/SecurityHelper.md) - [XFrameMiddleware](/api/security/class/XFrameMiddleware.md) - [XSSProtectionMiddleware](/api/security/class/XSSProtectionMiddleware.md) #### interface - [SecurityCSPOptions](/api/security/interface/SecurityCSPOptions.md) - [SecurityCSRFOptions](/api/security/interface/SecurityCSRFOptions.md) - [SecurityEnableOptions](/api/security/interface/SecurityEnableOptions.md) - [SecurityHSTSOptions](/api/security/interface/SecurityHSTSOptions.md) - [SecurityOptions](/api/security/interface/SecurityOptions.md) - [SecurityXFrameOptions](/api/security/interface/SecurityXFrameOptions.md) - [SecurityXSSProtectionOptions](/api/security/interface/SecurityXSSProtectionOptions.md) ### sequelize - [@midwayjs/sequelize](/api/sequelize.md) #### class - [Configuration](/api/sequelize/class/Configuration.md) - [SequelizeDataSourceManager](/api/sequelize/class/SequelizeDataSourceManager.md) #### function - [InjectDataSource](/api/sequelize/function/InjectDataSource.md) - [InjectRepository](/api/sequelize/function/InjectRepository.md) ### session - [@midwayjs/session](/api/session.md) #### class - [Configuration](/api/session/class/Configuration.md) - [SessionMiddleware](/api/session/class/SessionMiddleware.md) - [abstractSessionStore](/api/session/class/SessionStore.md) - [SessionStoreManager](/api/session/class/SessionStoreManager.md) #### interface - [ISession](/api/session/interface/ISession.md) - [SessionOptions](/api/session/interface/SessionOptions.md) ### socketio - [@midwayjs/socketio](/api/socketio.md) #### class - [Configuration](/api/socketio/class/Configuration.md) - [Framework](/api/socketio/class/Framework.md) ### static-file - [@midwayjs/static-file](/api/static-file.md) #### class - [Configuration](/api/static-file/class/Configuration.md) - [DirectoryNotFoundError](/api/static-file/class/DirectoryNotFoundError.md) - [StaticMiddleware](/api/static-file/class/StaticMiddleware.md) #### interface - [StaticFileOption](/api/static-file/interface/StaticFileOption.md) - [StaticFileOptions](/api/static-file/interface/StaticFileOptions.md) ### swagger - [@midwayjs/swagger](/api/swagger.md) #### class - [Configuration](/api/swagger/class/Configuration.md) - [SwaggerExplorer](/api/swagger/class/SwaggerExplorer.md) - [SwaggerMiddleware](/api/swagger/class/SwaggerMiddleware.md) #### enum - [BodyContentType](/api/swagger/enum/BodyContentType.md) #### function - [ApiAcceptedResponse](/api/swagger/function/ApiAcceptedResponse.md) - [ApiBadGatewayResponse](/api/swagger/function/ApiBadGatewayResponse.md) - [ApiBadRequestResponse](/api/swagger/function/ApiBadRequestResponse.md) - [ApiBasicAuth](/api/swagger/function/ApiBasicAuth.md) - [ApiBearerAuth](/api/swagger/function/ApiBearerAuth.md) - [ApiBody](/api/swagger/function/ApiBody.md) - [ApiConflictResponse](/api/swagger/function/ApiConflictResponse.md) - [ApiCookieAuth](/api/swagger/function/ApiCookieAuth.md) - [ApiCreatedResponse](/api/swagger/function/ApiCreatedResponse.md) - [ApiDefaultResponse](/api/swagger/function/ApiDefaultResponse.md) - [ApiExcludeController](/api/swagger/function/ApiExcludeController.md) - [ApiExcludeEndpoint](/api/swagger/function/ApiExcludeEndpoint.md) - [ApiExcludeSecurity](/api/swagger/function/ApiExcludeSecurity.md) - [ApiExtension](/api/swagger/function/ApiExtension.md) - [ApiExtraModel](/api/swagger/function/ApiExtraModel.md) - [ApiForbiddenResponse](/api/swagger/function/ApiForbiddenResponse.md) - [ApiFoundResponse](/api/swagger/function/ApiFoundResponse.md) - [ApiGatewayTimeoutResponse](/api/swagger/function/ApiGatewayTimeoutResponse.md) - [ApiGoneResponse](/api/swagger/function/ApiGoneResponse.md) - [ApiHeader](/api/swagger/function/ApiHeader.md) - [ApiHeaders](/api/swagger/function/ApiHeaders.md) - [ApiInternalServerErrorResponse](/api/swagger/function/ApiInternalServerErrorResponse.md) - [ApiMethodNotAllowedResponse](/api/swagger/function/ApiMethodNotAllowedResponse.md) - [ApiMovedPermanentlyResponse](/api/swagger/function/ApiMovedPermanentlyResponse.md) - [ApiNoContentResponse](/api/swagger/function/ApiNoContentResponse.md) - [ApiNotAcceptableResponse](/api/swagger/function/ApiNotAcceptableResponse.md) - [ApiNotFoundResponse](/api/swagger/function/ApiNotFoundResponse.md) - [ApiNotImplementedResponse](/api/swagger/function/ApiNotImplementedResponse.md) - [ApiOAuth2](/api/swagger/function/ApiOAuth2.md) - [ApiOkResponse](/api/swagger/function/ApiOkResponse.md) - [ApiOperation](/api/swagger/function/ApiOperation.md) - [ApiParam](/api/swagger/function/ApiParam.md) - [ApiPayloadTooLargeResponse](/api/swagger/function/ApiPayloadTooLargeResponse.md) - [ApiPreconditionFailedResponse](/api/swagger/function/ApiPreconditionFailedResponse.md) - [ApiProperty](/api/swagger/function/ApiProperty.md) - [ApiPropertyOptional](/api/swagger/function/ApiPropertyOptional.md) - [ApiQuery](/api/swagger/function/ApiQuery.md) - [ApiRequestTimeoutResponse](/api/swagger/function/ApiRequestTimeoutResponse.md) - [ApiResponse](/api/swagger/function/ApiResponse.md) - [ApiResponseProperty](/api/swagger/function/ApiResponseProperty.md) - [ApiSecurity](/api/swagger/function/ApiSecurity.md) - [ApiServiceUnavailableResponse](/api/swagger/function/ApiServiceUnavailableResponse.md) - [ApiTags](/api/swagger/function/ApiTags.md) - [ApiTooManyRequestsResponse](/api/swagger/function/ApiTooManyRequestsResponse.md) - [ApiUnauthorizedResponse](/api/swagger/function/ApiUnauthorizedResponse.md) - [ApiUnprocessableEntityResponse](/api/swagger/function/ApiUnprocessableEntityResponse.md) - [ApiUnsupportedMediaTypeResponse](/api/swagger/function/ApiUnsupportedMediaTypeResponse.md) - [getSchemaPath](/api/swagger/function/getSchemaPath.md) - [renderJSON](/api/swagger/function/renderJSON.md) - [renderSwaggerUIDist](/api/swagger/function/renderSwaggerUIDist.md) - [renderSwaggerUIRemote](/api/swagger/function/renderSwaggerUIRemote.md) #### interface - [ApiHeaderOptions](/api/swagger/interface/ApiHeaderOptions.md) - [ApiPropertyOptions](/api/swagger/interface/ApiPropertyOptions.md) - [ApiResponseMetadata](/api/swagger/interface/ApiResponseMetadata.md) - [ApiResponseSchemaHost](/api/swagger/interface/ApiResponseSchemaHost.md) - [AuthOptions](/api/swagger/interface/AuthOptions.md): 继承自 https://swagger.io/specification/#security-scheme-object - [BaseParameterObject](/api/swagger/interface/BaseParameterObject.md) - [ComponentsObject](/api/swagger/interface/ComponentsObject.md) - [ContactObject](/api/swagger/interface/ContactObject.md) - [DiscriminatorObject](/api/swagger/interface/DiscriminatorObject.md) - [EncodingPropertyObject](/api/swagger/interface/EncodingPropertyObject.md) - [ExampleObject](/api/swagger/interface/ExampleObject.md) - [ExternalDocumentationObject](/api/swagger/interface/ExternalDocumentationObject.md) - [InfoObject](/api/swagger/interface/InfoObject.md) - [LicenseObject](/api/swagger/interface/LicenseObject.md) - [LinkObject](/api/swagger/interface/LinkObject.md) - [MediaTypeObject](/api/swagger/interface/MediaTypeObject.md) - [MixDecoratorMetadata](/api/swagger/interface/MixDecoratorMetadata.md) - [OAuthFlowObject](/api/swagger/interface/OAuthFlowObject.md) - [OAuthFlowsObject](/api/swagger/interface/OAuthFlowsObject.md) - [OpenAPIObject](/api/swagger/interface/OpenAPIObject.md) - [OperationObject](/api/swagger/interface/OperationObject.md) - [ParameterObject](/api/swagger/interface/ParameterObject.md) - [PathItemObject](/api/swagger/interface/PathItemObject.md) - [ReferenceObject](/api/swagger/interface/ReferenceObject.md) - [RequestBodyObject](/api/swagger/interface/RequestBodyObject.md) - [ResponseObject](/api/swagger/interface/ResponseObject.md) - [ResponsesObject](/api/swagger/interface/ResponsesObject.md) - [SchemaObject](/api/swagger/interface/SchemaObject.md) - [SchemaObjectMetadata](/api/swagger/interface/SchemaObjectMetadata.md) - [SecuritySchemeObject](/api/swagger/interface/SecuritySchemeObject.md) - [ServerObject](/api/swagger/interface/ServerObject.md) - [ServerVariableObject](/api/swagger/interface/ServerVariableObject.md) - [SwaggerOptions](/api/swagger/interface/SwaggerOptions.md): see https://swagger.io/specification/ - [TagObject](/api/swagger/interface/TagObject.md) - [Type ](/api/swagger/interface/Type.md) - [XmlObject](/api/swagger/interface/XmlObject.md) ### tablestore - [@midwayjs/tablestore](/api/tablestore.md) #### class - [CompositeCondition](/api/tablestore/class/CompositeCondition.md) - [Condition](/api/tablestore/class/Condition.md) - [Configuration](/api/tablestore/class/Configuration.md) - [SingleColumnCondition ](/api/tablestore/class/SingleColumnCondition.md) - [TableStoreService](/api/tablestore/class/TableStoreService.md) - [TableStoreServiceFactory](/api/tablestore/class/TableStoreServiceFactory.md) #### enum - [ColumnConditionType](/api/tablestore/enum/ColumnConditionType.md) - [ColumnReturnType](/api/tablestore/enum/ColumnReturnType.md) - [ComparatorType](/api/tablestore/enum/ComparatorType.md) - [DefinedColumnType](/api/tablestore/enum/DefinedColumnType.md) - [Direction](/api/tablestore/enum/Direction.md) - [FieldType](/api/tablestore/enum/FieldType.md) - [FilterType](/api/tablestore/enum/FilterType.md) - [GeoDistanceType](/api/tablestore/enum/GeoDistanceType.md) - [IndexOptions](/api/tablestore/enum/IndexOptions.md) - [IndexType](/api/tablestore/enum/IndexType.md) - [IndexUpdateMode](/api/tablestore/enum/IndexUpdateMode.md) - [LogicalOperator](/api/tablestore/enum/LogicalOperator.md) - [PrimaryKeyOption](/api/tablestore/enum/PrimaryKeyOption.md) - [PrimaryKeyType](/api/tablestore/enum/PrimaryKeyType.md) - [QueryOperator](/api/tablestore/enum/QueryOperator.md) - [QueryType](/api/tablestore/enum/QueryType.md): search - [ReturnType](/api/tablestore/enum/ReturnType.md) - [RowExistenceExpectation](/api/tablestore/enum/RowExistenceExpectation.md): metadata - [ScoreMode](/api/tablestore/enum/ScoreMode.md) - [SortMode](/api/tablestore/enum/SortMode.md) - [SortOrder](/api/tablestore/enum/SortOrder.md) - [UpdateType](/api/tablestore/enum/UpdateType.md) #### function - [formatRow](/api/tablestore/function/formatRow.md) - [formatRows](/api/tablestore/function/formatRows.md) #### interface - [BatchGetRowParams](/api/tablestore/interface/BatchGetRowParams.md) - [BatchWriteRowParams](/api/tablestore/interface/BatchWriteRowParams.md) - [ColumnCondition](/api/tablestore/interface/ColumnCondition.md) - [CreateIndexParams](/api/tablestore/interface/CreateIndexParams.md) - [CreateSearchIndexParams](/api/tablestore/interface/CreateSearchIndexParams.md) - [CreateTableParams](/api/tablestore/interface/CreateTableParams.md): params - [DeleteRowParams](/api/tablestore/interface/DeleteRowParams.md) - [DeleteSearchIndexParams](/api/tablestore/interface/DeleteSearchIndexParams.md) - [DeleteTableParams](/api/tablestore/interface/DeleteTableParams.md) - [DescribeSearchIndexParams](/api/tablestore/interface/DescribeSearchIndexParams.md) - [DescribeTableParams](/api/tablestore/interface/DescribeTableParams.md) - [DropIndexParams](/api/tablestore/interface/DropIndexParams.md) - [GetRangeParams](/api/tablestore/interface/GetRangeParams.md) - [GetRowParams](/api/tablestore/interface/GetRowParams.md) - [ListSearchIndexParams](/api/tablestore/interface/ListSearchIndexParams.md) - [PutRowParams](/api/tablestore/interface/PutRowParams.md) - [SearchIndexFieldSchema](/api/tablestore/interface/SearchIndexFieldSchema.md) - [SearchIndexNestedFilter](/api/tablestore/interface/SearchIndexNestedFilter.md) - [SearchIndexSchema](/api/tablestore/interface/SearchIndexSchema.md) - [SearchIndexSetting](/api/tablestore/interface/SearchIndexSetting.md) - [SearchIndexSorter](/api/tablestore/interface/SearchIndexSorter.md) - [SearchParams](/api/tablestore/interface/SearchParams.md) - [SearchQuery](/api/tablestore/interface/SearchQuery.md) - [StartLocalTransactionParams](/api/tablestore/interface/StartLocalTransactionParams.md) - [TableStoreClient](/api/tablestore/interface/TableStoreClient.md) - [TableStoreCompositeCondition](/api/tablestore/interface/TableStoreCompositeCondition.md) - [TableStoreCondition](/api/tablestore/interface/TableStoreCondition.md) - [TableStoreConfig](/api/tablestore/interface/TableStoreConfig.md) - [TableStoreLong](/api/tablestore/interface/TableStoreLong.md) - [TableStoreResult](/api/tablestore/interface/TableStoreResult.md) - [TableStoreSingleColumnCondition ](/api/tablestore/interface/TableStoreSingleColumnCondition.md) - [UpdateRowParams](/api/tablestore/interface/UpdateRowParams.md) - [UpdateTableParams](/api/tablestore/interface/UpdateTableParams.md) ### tenant - [@midwayjs/tenant](/api/tenant.md) #### class - [Configuration](/api/tenant/class/Configuration.md) - [TenantManager](/api/tenant/class/TenantManager.md) ### typegoose - [@midwayjs/typegoose](/api/typegoose.md) #### class - [Configuration](/api/typegoose/class/Configuration.md) #### function - [EntityModel](/api/typegoose/function/EntityModel.md) - [InjectEntityModel](/api/typegoose/function/InjectEntityModel.md) ### typeorm - [@midwayjs/typeorm](/api/typeorm.md) #### class - [Configuration](/api/typeorm/class/Configuration.md) - [TypeORMDataSourceManager](/api/typeorm/class/TypeORMDataSourceManager.md) #### function - [EventSubscriberModel](/api/typeorm/function/EventSubscriberModel.md) - [InjectDataSource](/api/typeorm/function/InjectDataSource.md) - [InjectEntityModel](/api/typeorm/function/InjectEntityModel.md) ### upload - [@midwayjs/upload](/api/upload.md) #### class - [Configuration](/api/upload/class/Configuration.md) - [MultipartInvalidFilenameError](/api/upload/class/MultipartInvalidFilenameError.md) - [MultipartInvalidFileTypeError](/api/upload/class/MultipartInvalidFileTypeError.md) - [UploadMiddleware](/api/upload/class/UploadMiddleware.md) #### interface - [UploadFileInfo ](/api/upload/interface/UploadFileInfo.md) - [UploadOptions](/api/upload/interface/UploadOptions.md) ### validate - [@midwayjs/validate](/api/validate.md) #### class - [abstractAbstractValidationPipe](/api/validate/class/AbstractValidationPipe.md) - [Configuration](/api/validate/class/Configuration.md) - [DecoratorValidPipe](/api/validate/class/DecoratorValidPipe.md) - [DefaultValuePipe ](/api/validate/class/DefaultValuePipe.md) - [MidwayValidationError](/api/validate/class/MidwayValidationError.md) - [ParseBoolPipe](/api/validate/class/ParseBoolPipe.md) - [ParseFloatPipe](/api/validate/class/ParseFloatPipe.md) - [ParseIntPipe](/api/validate/class/ParseIntPipe.md) - [abstractParsePipe](/api/validate/class/ParsePipe.md) - [ValidateService](/api/validate/class/ValidateService.md) - [ValidationPipe](/api/validate/class/ValidationPipe.md) #### function - [getSchema](/api/validate/function/getSchema.md) - [OmitDto](/api/validate/function/OmitDto.md) - [PickDto](/api/validate/function/PickDto.md) - [Rule](/api/validate/function/Rule.md) - [Valid](/api/validate/function/Valid.md) - [Validate](/api/validate/function/Validate.md) #### interface - [Dto ](/api/validate/interface/Dto.md) - [ValidateOptions](/api/validate/interface/ValidateOptions.md) ### validation - [@midwayjs/validation](/api/validation.md) #### class - [abstractAbstractValidationPipe](/api/validation/class/AbstractValidationPipe.md) - [Configuration](/api/validation/class/Configuration.md) - [DecoratorValidPipe](/api/validation/class/DecoratorValidPipe.md) - [DefaultValuePipe ](/api/validation/class/DefaultValuePipe.md) - [MidwayValidationError](/api/validation/class/MidwayValidationError.md) - [MidwayValidatorNotFoundError](/api/validation/class/MidwayValidatorNotFoundError.md) - [ParseBoolPipe](/api/validation/class/ParseBoolPipe.md) - [ParseFloatPipe](/api/validation/class/ParseFloatPipe.md) - [ParseIntPipe](/api/validation/class/ParseIntPipe.md) - [abstractParsePipe](/api/validation/class/ParsePipe.md) - [ValidationPipe](/api/validation/class/ValidationPipe.md) - [ValidationService](/api/validation/class/ValidationService.md) #### function - [getRuleMeta](/api/validation/function/getRuleMeta.md) - [getSchema](/api/validation/function/getSchema.md) - [OmitDto](/api/validation/function/OmitDto.md) - [PartialDto](/api/validation/function/PartialDto.md) - [PickDto](/api/validation/function/PickDto.md) - [RequiredDto](/api/validation/function/RequiredDto.md) - [Rule](/api/validation/function/Rule.md) - [Valid](/api/validation/function/Valid.md) - [Validate](/api/validation/function/Validate.md) #### interface - [Dto ](/api/validation/interface/Dto.md) - [IValidationService ](/api/validation/interface/IValidationService.md) - [IValidator ](/api/validation/interface/IValidator.md) - [IValidatorModule ](/api/validation/interface/IValidatorModule.md) - [SchemaHelper ](/api/validation/interface/SchemaHelper.md) - [ValidateResult](/api/validation/interface/ValidateResult.md) - [ValidationDecoratorOptions](/api/validation/interface/ValidationDecoratorOptions.md) - [ValidationExtendOptions](/api/validation/interface/ValidationExtendOptions.md) - [ValidationOptions](/api/validation/interface/ValidationOptions.md) ### validation-class-validator - [@midwayjs/validation-class-validator](/api/validation-class-validator.md) #### class - [ClassValidatorService](/api/validation-class-validator/class/ClassValidatorService.md) ### validation-joi - [@midwayjs/validation-joi](/api/validation-joi.md) ### validation-zod - [@midwayjs/validation-zod](/api/validation-zod.md) ### view - [@midwayjs/view](/api/view.md) #### class - [Configuration](/api/view/class/Configuration.md) - [ContextView](/api/view/class/ContextView.md): View instance for each request. It will find the view engine, and render it. The view engine should be registered in {@link ViewManager}. - [ViewManager](/api/view/class/ViewManager.md) #### interface - [IViewEngine](/api/view/interface/IViewEngine.md) - [RenderOptions](/api/view/interface/RenderOptions.md) ### view-ejs - [@midwayjs/view-ejs](/api/view-ejs.md) #### class - [Configuration](/api/view-ejs/class/Configuration.md) - [EjsView](/api/view-ejs/class/EjsView.md) ### view-nunjucks - [@midwayjs/view-nunjucks](/api/view-nunjucks.md) #### class - [Configuration](/api/view-nunjucks/class/Configuration.md) - [NunjucksEnvironment](/api/view-nunjucks/class/NunjucksEnvironment.md) - [NunjucksView](/api/view-nunjucks/class/NunjucksView.md) ### web - [@midwayjs/web](/api/web.md) #### class - [Agent](/api/web/class/Agent.md) - [Application](/api/web/class/Application.md) - [Configuration](/api/web/class/Configuration.md) - [Framework](/api/web/class/Framework.md) #### function - [AgentApp](/api/web/function/AgentApp.md) - [createAgentWorkerLoader](/api/web/function/createAgentWorkerLoader.md) - [createAppWorkerLoader](/api/web/function/createAppWorkerLoader.md) - [createEggAgent](/api/web/function/createEggAgent.md) - [createEggApplication](/api/web/function/createEggApplication.md) - [RunInEggAgent](/api/web/function/RunInEggAgent.md) - [startCluster](/api/web/function/startCluster.md) #### interface - [Context ](/api/web/interface/Context.md) - [IMidwayWebBaseApplication](/api/web/interface/IMidwayWebBaseApplication.md) - [IMidwayWebConfigurationOptions](/api/web/interface/IMidwayWebConfigurationOptions.md) - [IWebMiddleware](/api/web/interface/IWebMiddleware.md) - [State](/api/web/interface/State.md) ### web-express - [@midwayjs/express](/api/web-express.md) #### class - [Configuration](/api/web-express/class/Configuration.md) - [Framework](/api/web-express/class/Framework.md) - [MidwayExpressMiddlewareService](/api/web-express/class/MidwayExpressMiddlewareService.md) #### function - [wrapAsyncHandler](/api/web-express/function/wrapAsyncHandler.md) - [wrapMiddleware](/api/web-express/function/wrapMiddleware.md) #### interface - [Context](/api/web-express/interface/Context.md) - [IMidwayExpressApplication](/api/web-express/interface/IMidwayExpressApplication.md) - [IMidwayExpressConfigurationOptions](/api/web-express/interface/IMidwayExpressConfigurationOptions.md) ### web-koa - [@midwayjs/koa](/api/web-koa.md) #### class - [BodyParserMiddleware](/api/web-koa/class/BodyParserMiddleware.md) - [Configuration](/api/web-koa/class/Configuration.md) - [Framework](/api/web-koa/class/Framework.md) - [SiteFileMiddleware](/api/web-koa/class/SiteFileMiddleware.md) #### interface - [BodyParserOptions](/api/web-koa/interface/BodyParserOptions.md) - [Context](/api/web-koa/interface/Context.md) - [IMidwayKoaConfigurationOptions](/api/web-koa/interface/IMidwayKoaConfigurationOptions.md) - [IWebMiddleware](/api/web-koa/interface/IWebMiddleware.md) - [State](/api/web-koa/interface/State.md) ### ws - [@midwayjs/ws](/api/ws.md) #### class - [Configuration](/api/ws/class/Configuration.md) - [Framework](/api/ws/class/Framework.md) #### interface - [Context](/api/ws/interface/Context.md) ## docs ### 1.0.0 #### controller midway 使用 koa-router 作为路由的承载者,同时在 ts 的语法上做了一些简化,我们将路由和控制器放在了一起,使用装饰器来标注路由。 - [路由和控制器](/docs/1.0.0/controller.md): midway 使用 koa-router 作为路由的承载者,同时在 ts 的语法上做了一些简化,我们将路由和控制器放在了一起,使用装饰器来标注路由。 #### debug 一个更简单的 Debug 方案,新版本 VSCode 已经支持了 autoAttach。 - [Debug](/docs/1.0.0/debug.md): 一个更简单的 Debug 方案,新版本 VSCode 已经支持了 autoAttach。 #### decorator midway 内部有一套标准的装饰器管理器,用来所有装饰器对接 IoC 容器,扫描和扩展,我们称之为 decoratorManager 。 - [高级装饰器 API](/docs/1.0.0/decorator.md): midway 内部有一套标准的装饰器管理器,用来所有装饰器对接 IoC 容器,扫描和扩展,我们称之为 decoratorManager 。 #### deploy 构建打包 - [部署](/docs/1.0.0/deploy.md): 构建打包 #### docker 在 Docker 中部署,由于 egg 体系会根据 cpu 核数来启动进程,而 Docker 中获取的 cpu 数是错误的,就会导致启动非常多的 worker 进程。 - [Docker 中进程过多](/docs/1.0.0/docker.md): 在 Docker 中部署,由于 egg 体系会根据 cpu 核数来启动进程,而 Docker 中获取的 cpu 数是错误的,就会导致启动非常多的 worker 进程。 #### extensions - [介绍](/docs/1.0.0/extensions/axios.md): 组件扩展功能从 2.0 开始,请访问新版本文档。 #### framework 框架增强注入 - [框架增强](/docs/1.0.0/framework.md): 框架增强注入 #### hooks - [介绍](/docs/1.0.0/hooks/hooks_intro.md): 一体化功能从 2.0 开始,请访问新版本文档。 #### injection Midway 中使用了非常多的依赖注入的特性,通过装饰器的轻量特性,让依赖注入变的优雅,从而让开发过程变的便捷有趣。 - [依赖注入手册](/docs/1.0.0/injection.md): Midway 中使用了非常多的依赖注入的特性,通过装饰器的轻量特性,让依赖注入变的优雅,从而让开发过程变的便捷有趣。 #### intro 介绍 - [基础介绍](/docs/1.0.0/intro.md): 介绍 #### middleware 当前,midway v1 的全局中间件为 egg 提供,使用 egg 写法,和路由中间件有所区别,并且不能使用注入的形式使用。 - [全局中间件](/docs/1.0.0/middleware.md): 当前,midway v1 的全局中间件为 egg 提供,使用 egg 写法,和路由中间件有所区别,并且不能使用注入的形式使用。 #### quickstart 安装 Node 环境 - [快速上手](/docs/1.0.0/quickstart.md): 安装 Node 环境 #### serverless - [介绍](/docs/1.0.0/serverless/serverless_intro.md): Serverless 功能从 2.0 开始,请访问新版本文档。 #### test 经过大量的实践,我们沉淀出了一套标准的测试工具集。 - [应用测试](/docs/1.0.0/test.md): 经过大量的实践,我们沉淀出了一套标准的测试工具集。 #### test_more 测试应用 - [midway 高级测试方案](/docs/1.0.0/test_more.md): 测试应用 #### tool - [midway 工具集](/docs/1.0.0/tool/cli.md): midway-bin #### ts_guide Typescript 和 Javascript 既相似又有着许多不同,以往的 Node.js 应用和模块大多都是 Javascript 写的。 - [TS 新手指南](/docs/1.0.0/ts_guide.md): Typescript 和 Javascript 既相似又有着许多不同,以往的 Node.js 应用和模块大多都是 Javascript 写的。 ### 2.0.0 #### alinode 准备工作 - [接入 Alinode](/docs/2.0.0/alinode.md): 准备工作 #### aspect 我们经常有全局统一处理逻辑的需求,比如统一处理错误,转换格式等等,虽然在 Web 场景有 Web 中间件来处理,但是在其他场景下,无法使用这个能力。 - [方法拦截器(切面)](/docs/2.0.0/aspect.md): 我们经常有全局统一处理逻辑的需求,比如统一处理错误,转换格式等等,虽然在 Web 场景有 Web 中间件来处理,但是在其他场景下,无法使用这个能力。 #### body-parser Bodyparser 一般用来对 post 请求的请求体进行解析,是比较常用的 Web 中间件之一。 - [BodyParser](/docs/2.0.0/body-parser.md): Bodyparser 一般用来对 post 请求的请求体进行解析,是比较常用的 Web 中间件之一。 #### cfork 很多同学没有听过 cfork,cfork 库是 egg-scripts 中用于启动主进程的库,是 egg 使用的基础库之一,他的功能是启动进程,并维持多个进程的保活。 - [使用 cfork](/docs/2.0.0/cfork.md): 很多同学没有听过 cfork,cfork 库是 egg-scripts 中用于启动主进程的库,是 egg 使用的基础库之一,他的功能是启动进程,并维持多个进程的保活。 #### change_start_dir 在某些特殊场景下,可以修改源码所在的 src 目录。 - [修改源码目录](/docs/2.0.0/change_start_dir.md): 在某些特殊场景下,可以修改源码所在的 src 目录。 #### component_development 组件(Component)是一个可复用与多框架的模块包,一般用于几种场景: - [组件开发](/docs/2.0.0/component_development.md): 组件(Component)是一个可复用与多框架的模块包,一般用于几种场景: #### container Midway 中使用了非常多的依赖注入的特性,通过装饰器的轻量特性,让依赖注入变的优雅,从而让开发过程变的便捷有趣。 - [依赖注入](/docs/2.0.0/container.md): Midway 中使用了非常多的依赖注入的特性,通过装饰器的轻量特性,让依赖注入变的优雅,从而让开发过程变的便捷有趣。 #### context_definition 在某些场景下,需要扩展上下文 ctx 属性,比如 Web 场景下中间件,我们可以往上附加一些方法或者属性。 - [扩展上下文定义](/docs/2.0.0/context_definition.md): 在某些场景下,需要扩展上下文 ctx 属性,比如 Web 场景下中间件,我们可以往上附加一些方法或者属性。 #### controller 在常见的 MVC 架构中,C 即代表控制器,控制器用于负责解析用户的输入,处理后返回相应的结果。 - [控制器(Controller)](/docs/2.0.0/controller.md): 在常见的 MVC 架构中,C 即代表控制器,控制器用于负责解析用户的输入,处理后返回相应的结果。 #### cookies HTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。 - [Cookies](/docs/2.0.0/cookies.md): HTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。 #### cors 跨源资源共享(CORS) (或通俗地译为跨域资源共享)是一种基于HTTP头的机制,该机制通过允许服务器标示除了它自己以外的其它 origin(域,协议和端口),这样浏览器可以访问加载这些资源。 - [跨域 CORS](/docs/2.0.0/cors.md): 跨源资源共享(CORS) (或通俗地译为跨域资源共享)是一种基于HTTP头的机制,该机制通过允许服务器标示除了它自己以外的其它 origin(域,协议和端口),这样浏览器可以访问加载这些资源。 #### custom_eggjs 在 Midway 体系中,我们通过 @midwayjs/web ,支持了 EggJS 作为上层框架,并将 Web 层传统的控制器、服务等分层,以及依赖注入带到了 EggJS 体系。 - [自定义 EggJS 框架接入](/docs/2.0.0/custom_eggjs.md): 在 Midway 体系中,我们通过 @midwayjs/web ,支持了 EggJS 作为上层框架,并将 Web 层传统的控制器、服务等分层,以及依赖注入带到了 EggJS 体系。 #### debugger 在 VSCode 中调试 - [本地调试](/docs/2.0.0/debugger.md): 在 VSCode 中调试 #### decorator_api Midway 内部有一套标准的装饰器管理 API,用来将装饰器对接依赖注入容器,实现扫描和扩展,这些 API 方法我们都从 @midwayjs/decorator  包进行导出。 - [高级装饰器 API](/docs/2.0.0/decorator_api.md): Midway 内部有一套标准的装饰器管理 API,用来将装饰器对接依赖注入容器,实现扫描和扩展,这些 API 方法我们都从 @midwayjs/decorator  包进行导出。 #### decorator_index | | 场景 | 作用 | - [现有装饰器索引](/docs/2.0.0/decorator_index.md): | | 场景 | 作用 | #### deployment Midway 提供了一个轻量的启动器,用于启动你的应用。我们为应用提供了多种部署模式,你既可以将应用按照传统的样子,部署到任意的服务上(比如自己购买的服务器),也可以将应用构建为一个 Serverless 应用,Midway 提供跨多云的部署方式。 - [启动和部署](/docs/2.0.0/deployment.md): Midway 提供了一个轻量的启动器,用于启动你的应用。我们为应用提供了多种部署模式,你既可以将应用按照传统的样子,部署到任意的服务上(比如自己购买的服务器),也可以将应用构建为一个 Serverless 应用,Midway 提供跨多云的部署方式。 #### eggjs Midway 可以使用 EggJS 作为上层 Web 框架,EggJS 提供了非常多常用的插件和 API,帮助用户快速构建企业级 Web 应用。本章节内容,主要介绍 EggJS 在 Midway 中如何使用自身的能力。 - [EggJS](/docs/2.0.0/eggjs.md): Midway 可以使用 EggJS 作为上层 Web 框架,EggJS 提供了非常多常用的插件和 API,帮助用户快速构建企业级 Web 应用。本章节内容,主要介绍 EggJS 在 Midway 中如何使用自身的能力。 #### env_config 配置是我们常用的功能,而且在不同的环境,经常会使用不同的配置信息。 - [多环境配置](/docs/2.0.0/env_config.md): 配置是我们常用的功能,而且在不同的环境,经常会使用不同的配置信息。 #### environment Node.js 应用一般通过 NODE_ENV  来获取环境变量,来满足不同环境下的不同需求。比如在 production  环境下,开启缓存,优化性能,而在 development  环境下,会打开所有的日志开关,输出详细的错误信息等等。 - [运行环境](/docs/2.0.0/environment.md): Node.js 应用一般通过 NODE_ENV  来获取环境变量,来满足不同环境下的不同需求。比如在 production  环境下,开启缓存,优化性能,而在 development  环境下,会打开所有的日志开关,输出详细的错误信息等等。 #### express 本章节内容,主要介绍在 Midway 中如何使用 Express 作为上层框架,并使用自身的能力。 - [Express](/docs/2.0.0/express.md): 本章节内容,主要介绍在 Midway 中如何使用 Express 作为上层框架,并使用自身的能力。 #### extensions - [HTTP 请求(Axios)](/docs/2.0.0/extensions/axios.md): midway 包裹了 axios 包,使得在代码中可以简单的使用 axios 接口。 - [缓存(Cache)](/docs/2.0.0/extensions/cache.md): Midway Cache 是为了方便开发者进行缓存操作的组件,它有利于改善项目的性能。它为我们提供了一个数据中心以便进行高效的数据访问。 - [Consul](/docs/2.0.0/extensions/consul.md): consul 用于微服务下的服务治理,主要特点有:服务发现、服务配置、健康检查、键值存储、安全服务通信、多数据中心等。 - [对象存储(COS)](/docs/2.0.0/extensions/cos.md): 本文介绍了如何使用 midway 接入腾讯云 COS。 - [GraphQL](/docs/2.0.0/extensions/graphql.md): 概述 - [gRPC](/docs/2.0.0/extensions/grpc.md): gRPC 是一个高性能、通用的开源 RPC 框架,其由 Google 主要面向移动应用开发并基于 HTTP/2 协议标准而设计,基于 ProtoBuf(Protocol Buffers) 序列化协议开发,且支持众多开发语言。 - [MongoDB](/docs/2.0.0/extensions/mongo.md): 在这一章节中,我们选择 Typegoose 作为基础的 MongoDB ORM 库。就如同他描述的那样 " Define Mongoose models using TypeScript classes",和 TypeScript 结合的很不错。 - [Database(TypeORM)](/docs/2.0.0/extensions/orm.md): TypeORM  是  node.js  现有社区最成熟的对象关系映射器(ORM )。Midway 和 TypeORM 搭配,使开发更简单。 - [对象存储(OSS)](/docs/2.0.0/extensions/oss.md): 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低于 99.999999999%,服务设计可用性不低于 99.99%。具有与平台无关的 RESTful API 接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 - [Passport](/docs/2.0.0/extensions/passport.md): 身份验证是大多数 Web 应用程序的重要组成部分。因此 Midway 封装了目前 Node.js 中最流行的 Passport 库。 - [进程共享(ProcessAgent)](/docs/2.0.0/extensions/process_agent.md): midway 封装了 @midwayjs/process-agent 用来解决 node 场景中,多进程部分场景数据进程间数据不一致,或者无法指定 master 进程执行某个方法。 - [RabbitMQ](/docs/2.0.0/extensions/rabbitmq.md): 在复杂系统的架构中,会有负责处理消息队列的微服务,如下图:服务 A 负责产生消息给消息队列,而服务 B 则负责消费消息队列中的任务。 - [Redis](/docs/2.0.0/extensions/redis.md): 这里介绍如何快速在 Midway 中使用 Redis。 - [模板渲染](/docs/2.0.0/extensions/render.md): 本组件用于在 midway 体系使用服务端渲染 ejs,nunjucks 模板。 - [Sequelize](/docs/2.0.0/extensions/sequelize.md): 使用方法: - [Swagger](/docs/2.0.0/extensions/swagger.md): Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 让部署管理和使用功能强大的 API 从未如此简单。 - [TableStore](/docs/2.0.0/extensions/tablestore.md): 本文介绍了如何使用 midway 接入阿里云 TableStore。 - [任务调度(Task)](/docs/2.0.0/extensions/task.md): @midwayjs/task 是为了解决任务系列的模块,例如分布式定时任务、延迟任务调度。例如每日定时报表邮件发送、订单2小时后失效等工作。 #### file_upload 一、使用场景 - [FaaS 文件上传](/docs/2.0.0/file_upload.md): 一、使用场景 #### framework_development Midway 提供了一套可以自定义框架的能力,如果 Midway 没有提供某种上层框架能力,则可以自定义接入。 - [框架扩展](/docs/2.0.0/framework_development.md): Midway 提供了一套可以自定义框架的能力,如果 Midway 没有提供某种上层框架能力,则可以自定义接入。 #### framework_problem 多个 @midwayjs/decorator 警告 - [常见框架错误](/docs/2.0.0/framework_problem.md): 多个 @midwayjs/decorator 警告 #### git_problem 文件名大小写问题 - [常见 git 问题](/docs/2.0.0/git_problem.md): 文件名大小写问题 #### hooks - [非 Serverless 环境使用一体化](/docs/2.0.0/hooks/application_integration.md): 在 Midway Serverless 2.0 中,我们支持了 Web 全栈应用的开发。 - [接口开发 & 前端调用](/docs/2.0.0/hooks/hooks_api.md): “零” API 调用 - [纯接口项目增加 Hooks 支持](/docs/2.0.0/hooks/hooks_bff.md): 如果你之前的项目是 Midway Web 或者 Midway FaaS 的纯接口项目,想在代码中使用纯函数的开发方式,那么可以参考本文档。 - [内置 Hooks](/docs/2.0.0/hooks/hooks_builtin.md): useContext - [运行时配置 & Hooks 组件](/docs/2.0.0/hooks/hooks_component.md): 2.0 版 - [项目初始化](/docs/2.0.0/hooks/hooks_create.md): 创建 - [自定义前端 SDK](/docs/2.0.0/hooks/hooks_custom_request.md): Midway Hooks 默认使用浏览器指定的 fetch 发送请求,为了支持不同场景,开发者可以自定义请求函数。 - [本地调试](/docs/2.0.0/hooks/hooks_debug.md): VSCode - [Web 中间件](/docs/2.0.0/hooks/hooks_middleware.md): 在 2.0 版本中,Midway Hooks 支持三种形式的中间件,用来覆盖不同的使用诉求。 - [小程序一体化](/docs/2.0.0/hooks/hooks_miniprogram.md): 小程序一体化是 Midway.js 团队与 Rax 团队合作的产品,通过 Midway.js 对一体化的支持与 Rax 对小程序的支持,我们可以为小程序带去更好的研发体验。 - [路由](/docs/2.0.0/hooks/hooks_route.md): Midway Hooks 的路由机制是文件路由,我们会根据 目录/文件/导出的方法 来分析出路由配置。同时我们也提供了相应的配置选项。 - [Hooks 语法](/docs/2.0.0/hooks/hooks_syntax.md): Midway Hooks 使用了类似于 React Hooks 的语法,允许开发者通过 Function + Hooks 的方式,获取当前请求数据并提供 Web 服务。 - [介绍](/docs/2.0.0/hooks/intro.md): ✨ 特性 - [OSS 文件上传](/docs/2.0.0/hooks/oss_upload.md): 由于函数网关的问题,文件无法直传至函数,但我们也提供了两种方式来解决文件上传的问题。 #### how_to_install_nodejs 使用场景 - [如何安装 Node.js 环境](/docs/2.0.0/how_to_install_nodejs.md): 使用场景 #### how_to_update_midway midway 项目的依赖使用 lerna 发布,请不要: - [如何更新 Midway](/docs/2.0.0/how_to_update_midway.md): midway 项目的依赖使用 lerna 发布,请不要: #### intro Midway 是阿里巴巴 - 淘宝前端架构团队,基于渐进式理念研发的 Node.js 框架。 - [介绍](/docs/2.0.0/intro.md): Midway 是阿里巴巴 - 淘宝前端架构团队,基于渐进式理念研发的 Node.js 框架。 #### koa Koa 是一个非常轻量易用的 Web 框架。 - [Koa](/docs/2.0.0/koa.md): Koa 是一个非常轻量易用的 Web 框架。 #### lifecycle 在通常情况下,我们希望在应用启动的时候做一些初始化、或者其他一些预处理的事情,比如创建数据库连接、预生成一些配置,而不是在请求响应时去处理。 - [生命周期](/docs/2.0.0/lifecycle.md): 在通常情况下,我们希望在应用启动的时候做一些初始化、或者其他一些预处理的事情,比如创建数据库连接、预生成一些配置,而不是在请求响应时去处理。 #### logger 简介 - [日志](/docs/2.0.0/logger.md): 简介 #### midway_component 组件是 Midway 的扩展机制,我们会将复用的业务代码,或者逻辑,抽象的公共的能力开发成组件,使得这些代码能够在所有的 Midway 场景下复用。 - [使用组件](/docs/2.0.0/midway_component.md): 组件是 Midway 的扩展机制,我们会将复用的业务代码,或者逻辑,抽象的公共的能力开发成组件,使得这些代码能够在所有的 Midway 场景下复用。 #### midway_slow_problem Midway 在本地开发时会使用 ts-node 实时扫描并 require 模块,如果 ts 文件太多(比如 200+)个,启动时可能会导致比较慢,在 Windows 下非 SSD 硬盘的情况下特别明显,导致 ts-node 的类型检查的 Server 频繁 fullGC,每个文件加载可能会达到 1-2s。 - [关于 Midway 启动慢的问题](/docs/2.0.0/midway_slow_problem.md): Midway 在本地开发时会使用 ts-node 实时扫描并 require 模块,如果 ts 文件太多(比如 200+)个,启动时可能会导致比较慢,在 Windows 下非 SSD 硬盘的情况下特别明显,导致 ts-node 的类型检查的 Server 频繁 fullGC,每个文件加载可能会达到 1-2s。 #### multi_framework_start 所谓的多框架启动,指的是多个能提供服务的上层框架,在一个进程中同时提供服务。 - [多框架研发](/docs/2.0.0/multi_framework_start.md): 所谓的多框架启动,指的是多个能提供服务的上层框架,在一个进程中同时提供服务。 #### npm_problem 1、不希望生成 package-lock.json - [常见 npm 问题](/docs/2.0.0/npm_problem.md): 1、不希望生成 package-lock.json #### pipeline 有些场景下,我们希望把一个完整的任务拆分成不同的阶段,每个阶段执行的逻辑相对独立,同时又可以通过并行或者串行的方式提升整体的执行效率。在 Midway 中我们实现了一个优化的 Pipeline 模式。 - [代码流程控制](/docs/2.0.0/pipeline.md): 有些场景下,我们希望把一个完整的任务拆分成不同的阶段,每个阶段执行的逻辑相对独立,同时又可以通过并行或者串行的方式提升整体的执行效率。在 Midway 中我们实现了一个优化的 Pipeline 模式。 #### pm2 PM2 是带有内置负载平衡器的 Node.js 应用程序的生产过程管理器。可以利用它来简化很多 Node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。 - [使用 pm2](/docs/2.0.0/pm2.md): PM2 是带有内置负载平衡器的 Node.js 应用程序的生产过程管理器。可以利用它来简化很多 Node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。 #### prometheus Prometheus(普罗米修斯)是一个最初在 SoundCloud 上构建的监控系统。 自 2012 年成为社区开源项目,拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus 于 2016 年加入云原生云计算基金会(CNCF),成为继 Kubernetes 之后的第二个托管项目。 - [接入 Prometheus](/docs/2.0.0/prometheus.md): Prometheus(普罗米修斯)是一个最初在 SoundCloud 上构建的监控系统。 自 2012 年成为社区开源项目,拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus 于 2016 年加入云原生云计算基金会(CNCF),成为继 Kubernetes 之后的第二个托管项目。 #### release_schedule | Release | Status | Codename | Initial Release | Active LTS Start | Maintenance LTS Start | End-of-life | - [Midway 维护计划](/docs/2.0.0/release_schedule.md): | Release | Status | Codename | Initial Release | Active LTS Start | Maintenance LTS Start | End-of-life | #### req_res_app Midway 框架会根据不同的场景来启动不同的应用,前文提到,我们默认选用 EggJS 作为我们的 Web 框架,也可以使用 Express 或者 Koa。 - [请求、响应、应用](/docs/2.0.0/req_res_app.md): Midway 框架会根据不同的场景来启动不同的应用,前文提到,我们默认选用 EggJS 作为我们的 Web 框架,也可以使用 Express 或者 Koa。 #### router_table 从 v2.8.0 开始,Midway 提供了内置的路由表能力,所有的 Web 框架都将使用这份路由表注册路由。 - [Web 路由表](/docs/2.0.0/router_table.md): 从 v2.8.0 开始,Midway 提供了内置的路由表能力,所有的 Web 框架都将使用这份路由表注册路由。 #### sample 官方示例 - [示例列表](/docs/2.0.0/sample.md): 官方示例 #### serverless - [API 网关](/docs/2.0.0/serverless/aliyun_trigger_apigw.md): API 网关在阿里云函数体系中比较特殊,他类似于创建一个无触发器函数,通过平台网关的绑定到特定的路径上。 - [事件触发器(Event)](/docs/2.0.0/serverless/aliyun_trigger_event.md): 发布不包含触发器的函数,这是最简单的类型,可以直接通过 event 手动触发参数,也可以在平台绑定其他触发器。 - [HTTP 触发器](/docs/2.0.0/serverless/aliyun_trigger_http.md): 阿里云的 HTTP 触发器和其他平台的有所区别,是独立于 API 网关的另一套服务于 HTTP 场景的触发器。相比于 API 网关,该触发器更易于使用和配置。 - [MNS 触发器(消息队列)](/docs/2.0.0/serverless/aliyun_trigger_mns.md): 请务必注意,阿里云消息队列会对 Topic 和 Queue 产生一定的费用。 - [OSS 触发器(对象存储)](/docs/2.0.0/serverless/aliyun_trigger_oss.md): OSS 用于存储一些资源文件,是阿里云的资源存储产品。 当 OSS 中有文件创建,更新,对应的函数就会被触发而执行。 - [Timer 触发器(定时任务)](/docs/2.0.0/serverless/aliyun_trigger_timer.md): 定时任务触发器用于定时执行一个函数。定时有两种方式,时间间隔(every)和 cron 格式。 - [应用迁移方案说明](/docs/2.0.0/serverless/app_deploy_serverless.md): 迁移方案 - [阿里云发布 FAQ](/docs/2.0.0/serverless/deploy_aliyun_faq.md): 包大小问题 - [腾讯云发布 FAQ](/docs/2.0.0/serverless/deploy_tencent_faq.md): 用户鉴权 - [发布到阿里云 FC](/docs/2.0.0/serverless/deploy_to_aliyun.md): 配置 - [发布到腾讯云 SCF](/docs/2.0.0/serverless/deploy_to_tencent.md): 配置 - [Egg/Midway 应用迁移](/docs/2.0.0/serverless/migrate_egg.md): Midway Serverless 提供了一套通用的应用迁移方案,将原有应用尽可能不修改代码,就可以发布到函数平台。使用此方案,可以将原有的 egg/midway 应用尽可能快速简单的迁移到函数平台进行托管,享受云原生时代的弹性红利。 - [Express 应用迁移](/docs/2.0.0/serverless/migrate_express.md): Midway Serverless 提供了一套通用的应用迁移方案,将原有应用尽可能不修改代码,就可以发布到函数平台。使用此方案,可以将原有的 express 应用尽可能快速简单的迁移到函数平台进行托管,享受云原生时代的弹性红利。 - [应用迁移 FAQ](/docs/2.0.0/serverless/migrate_faq.md): 这套方案和平台的迁移方案有什么区别? - [Koa 应用迁移](/docs/2.0.0/serverless/migrate_koa.md): Midway Serverless 提供了一套通用的应用迁移方案,将原有应用尽可能不修改代码,就可以发布到函数平台。使用此方案,可以将原有的 koa 应用尽可能快速简单的迁移到函数平台进行托管,享受云原生时代的弹性红利。 - [静态网站托管](/docs/2.0.0/serverless/migrate_static.md): 此方案适用于纯前端项目(React、vue 等)托管到 Serverless 平台(阿里云,腾讯云等)。 - [聚合部署](/docs/2.0.0/serverless/serverless_aggr.md): Midway 针对 HTTP 场景,提供了一种聚合部署的方式,在开发时和传统 Web 应用类似,在部署时将多个路由部署在同一个函数容器中,可以节省冷启动时间,节省费用。 - [函数上下文](/docs/2.0.0/serverless/serverless_context.md): Event 转换 - [开发函数](/docs/2.0.0/serverless/serverless_dev.md): 初始化代码 - [部署环境](/docs/2.0.0/serverless/serverless_environment.md): 在 Serverless 场景,由于环境和传统的容器不同(平台提供,无法修改),我们在启动时,使用传统的命令透传环境变量,函数是无法正确的读取到的。 - [默认错误行为](/docs/2.0.0/serverless/serverless_error.md): 错误值处理 - [介绍](/docs/2.0.0/serverless/serverless_intro.md): Midway Serverless 能做什么 - [Serverless 触发器 POST 情况差异](/docs/2.0.0/serverless/serverless_post_difference.md): 阿里云 API 网关 - [测试函数](/docs/2.0.0/serverless/serverless_testing.md): HTTP 类的函数 - [Serverless 函数部署为应用](/docs/2.0.0/serverless/serverless_to_app.md): Midway Serverless 在 v1.0 版本已经支持部署到各个 Serverless 云平台,例如阿里云 FC、腾讯云 SCF 等。从 v2.0 版本开始支持已有的 Serverless 函数以应用模式部署在你的私有服务器上。 - [从 Serverless v1 迁移到 v2](/docs/2.0.0/serverless/serverless_v1_upgrade_serverless_v2.md): 本文章介绍如何从 Serverless v1.0 迁移到 Serverless v2.0。 - [f.yml 定义](/docs/2.0.0/serverless/serverless_yml.md): 概述 - [API 网关(HTTP)](/docs/2.0.0/serverless/tencent_trigger_apigw.md): API 网关在腾讯云函数体系中类似于 HTTP 函数,我们通过它将函数发布为 HTTP 服务。 - [CMQ 触发器(消息队列)](/docs/2.0.0/serverless/tencent_trigger_cmq.md): CMQ(mq) 触发器,订阅的是腾讯云的消息队列服务。 - [COS 触发器(对象存储)](/docs/2.0.0/serverless/tencent_trigger_cos.md): COS 是腾讯云用于存储一些资源文件的服务。 - [Timer 触发器(定时任务)](/docs/2.0.0/serverless/tencent_trigger_timer.md): 定时任务触发器用于定时执行一个函数。腾讯云 Timer 触发器目前只支持 cron 格式。 #### service 在业务中,只有控制器(Controller)的代码是不够的,一般来说会有一些业务逻辑被抽象到一个特定的逻辑单元中,我们一般称为服务(Service)。 - [服务和注入](/docs/2.0.0/service.md): 在业务中,只有控制器(Controller)的代码是不够的,一般来说会有一些业务逻辑被抽象到一个特定的逻辑单元中,我们一般称为服务(Service)。 #### service_factory 有时候编写组件或者编写服务,会碰到某个服务有多实例的情况,这个时候服务工厂(Service Factory)就适合这种场景。 - [服务工厂](/docs/2.0.0/service_factory.md): 有时候编写组件或者编写服务,会碰到某个服务有多实例的情况,这个时候服务工厂(Service Factory)就适合这种场景。 #### session Session 在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。 - [Session](/docs/2.0.0/session.md): Session 在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。 #### socketio Socket.io 是一个业界常用库,可用于在浏览器和服务器之间进行实时,双向和基于事件的通信。 - [SocketIO](/docs/2.0.0/socketio.md): Socket.io 是一个业界常用库,可用于在浏览器和服务器之间进行实时,双向和基于事件的通信。 #### start_app 快速初始化 - [创建第一个应用](/docs/2.0.0/start_app.md): 快速初始化 #### static_file 静态资源一般用来托管前端文件(js/css/html/png)等。 - [静态资源(Static File)](/docs/2.0.0/static_file.md): 静态资源一般用来托管前端文件(js/css/html/png)等。 #### testing 应用开发中,测试十分重要,在传统 Web 产品快速迭代的时期,每个测试用例都给应用的稳定性提供了一层保障。 API 升级,测试用例可以很好地检查代码是否向下兼容。 对于各种可能的输入,一旦测试覆盖,都能明确它的输出。 代码改动后,可以通过测试结果判断代码的改动是否影响已确定的结果。 - [测试](/docs/2.0.0/testing.md): 应用开发中,测试十分重要,在传统 Web 产品快速迭代的时期,每个测试用例都给应用的稳定性提供了一层保障。 API 升级,测试用例可以很好地检查代码是否向下兼容。 对于各种可能的输入,一旦测试覆盖,都能明确它的输出。 代码改动后,可以通过测试结果判断代码的改动是否影响已确定的结果。 #### tool - [midwayjs/cli](/docs/2.0.0/tool/cli.md): @midwayjs/cli  是新版本的 Midway 体系工具链,和 Serverless,以及原应用的工具链进行了整合。 - [midwayjs/egg-ts-helper](/docs/2.0.0/tool/egg-ts-helper.md): 针对 midway 支持 Egg.js 的场景,重写了原 egg-ts-helper 包,移除了原有的 TS,AST 分析等大依赖。 - [检查工具](/docs/2.0.0/tool/luckyeye.md): Midway 为常见的错误提供了一些检查工具,以方便用户快速排错。@midwayjs/luckyeye  包提供了一些基础的检查规则,配合 Midway 新版本可以快速排查问题。 - [Lint 工具、规则和格式化](/docs/2.0.0/tool/mwts.md): Midway 的框架和业务代码都是由 TypeScript 编写的,默认 Midway 提供了一套默认的 lint、编辑器以及格式化规则,用于更方便的进行开发和测试。 - [TypeORM Model Generator](/docs/2.0.0/tool/typeorm_generator.md): 感谢社区用户 @youtiao66 提供此模块。 #### ts_problem TS 有很多编译静态检查,比如类型不一致,对象未定义等,默认情况下是最佳的,希望用户合理考虑编码风格和习惯,谨慎开关配置,享受 TS 静态检查带来的好处。 - [常见 TS 问题](/docs/2.0.0/ts_problem.md): TS 有很多编译静态检查,比如类型不一致,对象未定义等,默认情况下是最佳的,希望用户合理考虑编码风格和习惯,谨慎开关配置,享受 TS 静态检查带来的好处。 #### v1_upgrade_v2 手动迁移步骤 - [从 Midway v1 升级到 v2](/docs/2.0.0/v1_upgrade_v2.md): 手动迁移步骤 #### validate 我们经常要在方法调用时执行一些类型检查,参数转换的操作,Midway 提供了一种简单的能力来快速检查参数的类型,这个能力来源于 joi ,同时也提供了参数的转换能力,这个能力来自于 class-transformer 。 - [参数校验和转换](/docs/2.0.0/validate.md): 我们经常要在方法调用时执行一些类型检查,参数转换的操作,Midway 提供了一种简单的能力来快速检查参数的类型,这个能力来源于 joi ,同时也提供了参数的转换能力,这个能力来自于 class-transformer 。 #### web_middleware Web 中间件是在控制器调用  之前  和 之后(部分) 调用的函数。 中间件函数可以访问请求和响应对象。 - [Web 中间件](/docs/2.0.0/web_middleware.md): Web 中间件是在控制器调用  之前  和 之后(部分) 调用的函数。 中间件函数可以访问请求和响应对象。 #### ws ws 模块是 Node 端的一个 WebSocket 协议的实现,该协议允许客户端(一般是浏览器)持久化和服务端的连接. - [WebSocket](/docs/2.0.0/ws.md): ws 模块是 Node 端的一个 WebSocket 协议的实现,该协议允许客户端(一般是浏览器)持久化和服务端的连接. ### 3.0.0 #### aspect 我们经常有全局统一处理逻辑的需求,比如统一处理错误,转换格式等等,虽然在 Web 场景有 Web 中间件来处理,但是在其他场景下,无法使用这个能力。 - [拦截器(AOP)](/docs/3.0.0/aspect.md): 我们经常有全局统一处理逻辑的需求,比如统一处理错误,转换格式等等,虽然在 Web 场景有 Web 中间件来处理,但是在其他场景下,无法使用这个能力。 #### auto_run 在初始化过程中,当我们的代码和主流程无关,却想执行的时候,一般会在启动 onReady 阶段来执行,随着的代码量越来越多,onReady 会变的臃肿。 - [自执行代码](/docs/3.0.0/auto_run.md): 在初始化过程中,当我们的代码和主流程无关,却想执行的时候,一般会在启动 onReady 阶段来执行,随着的代码量越来越多,onReady 会变的臃肿。 #### awesome_midway 以下列举了与 Midwayjs 相关的优质社区项目 - [Awesome Midway](/docs/3.0.0/awesome_midway.md): 以下列举了与 Midwayjs 相关的优质社区项目 #### built_in_service 在 Midway 中,提供了众多的内置对象,方便用户使用。 - [内置服务](/docs/3.0.0/built_in_service.md): 在 Midway 中,提供了众多的内置对象,方便用户使用。 #### change_start_dir 在某些特殊场景下,可以修改源码所在的 src 目录。 - [修改源码目录](/docs/3.0.0/change_start_dir.md): 在某些特殊场景下,可以修改源码所在的 src 目录。 #### component_development 组件(Component)是一个可复用与多框架的模块包,一般用于几种场景: - [自定义组件](/docs/3.0.0/component_development.md): 组件(Component)是一个可复用与多框架的模块包,一般用于几种场景: #### container Midway 中使用了非常多的依赖注入的特性,通过装饰器的轻量特性,让依赖注入变的优雅,从而让开发过程变的便捷有趣。 - [依赖注入](/docs/3.0.0/container.md): Midway 中使用了非常多的依赖注入的特性,通过装饰器的轻量特性,让依赖注入变的优雅,从而让开发过程变的便捷有趣。 #### context_definition 由于 TS 的静态类型分析,我们并不推荐动态去挂载某些属性,动态的挂载会导致 TS 的类型处理非常困难。在某些特殊场景下,如果需要扩展上下文 ctx 属性,比如 Web 场景下中间件,我们可以往上附加一些方法或者属性。 - [扩展上下文定义](/docs/3.0.0/context_definition.md): 由于 TS 的静态类型分析,我们并不推荐动态去挂载某些属性,动态的挂载会导致 TS 的类型处理非常困难。在某些特殊场景下,如果需要扩展上下文 ctx 属性,比如 Web 场景下中间件,我们可以往上附加一些方法或者属性。 #### contributing Midway 是一款开源框架,欢迎大家为社区贡献力量,本文介绍如何向 Midway 提交 issue,贡献代码,文档等。 - [向 Midway 贡献](/docs/3.0.0/contributing.md): Midway 是一款开源框架,欢迎大家为社区贡献力量,本文介绍如何向 Midway 提交 issue,贡献代码,文档等。 #### controller 在常见的 MVC 架构中,C 即代表控制器,控制器用于负责 解析用户的输入,处理后返回相应的结果。 - [路由和控制器](/docs/3.0.0/controller.md): 在常见的 MVC 架构中,C 即代表控制器,控制器用于负责 解析用户的输入,处理后返回相应的结果。 #### cookie_session HTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。 Cookie 主要用于以下三个方面: - [Cookies 和 Session](/docs/3.0.0/cookie_session.md): HTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。 Cookie 主要用于以下三个方面: #### cusom_response 在大多数正常的逻辑中,返回数据只需要 return 相应的对象。 - [自定义数据响应](/docs/3.0.0/cusom_response.md): 在大多数正常的逻辑中,返回数据只需要 return 相应的对象。 #### custom_decorator 在新版本中,Midway 提供了由框架支持的自定义装饰器能力,它包括几个常用功能: - [自定义装饰器](/docs/3.0.0/custom_decorator.md): 在新版本中,Midway 提供了由框架支持的自定义装饰器能力,它包括几个常用功能: #### custom_error 在 Node.js 中,每个异常都是内置的 Error 类型的实例。 - [自定义错误](/docs/3.0.0/custom_error.md): 在 Node.js 中,每个异常都是内置的 Error 类型的实例。 #### data_listener 在某些场景下,我们希望订阅某个数据,并且在一段时间后更新它,这种类似订阅的方式,我们称之为 ”数据订阅“,常见的远程数据获取等,都可以应用这个模式。 - [数据订阅](/docs/3.0.0/data_listener.md): 在某些场景下,我们希望订阅某个数据,并且在一段时间后更新它,这种类似订阅的方式,我们称之为 ”数据订阅“,常见的远程数据获取等,都可以应用这个模式。 #### data_response 从 v3.17.0 开始,框架添加了 ServerResponse 和 HttpServerResponse 的实现。 - [数据响应](/docs/3.0.0/data_response.md): 从 v3.17.0 开始,框架添加了 ServerResponse 和 HttpServerResponse 的实现。 #### data_source 在使用数据库包过程中,我们经常会有多库连接和管理的需求,不同数据库的连接池管理,连接状态,以及使用的方式都有一定的差异。 - [数据源管理](/docs/3.0.0/data_source.md): 在使用数据库包过程中,我们经常会有多库连接和管理的需求,不同数据库的连接池管理,连接状态,以及使用的方式都有一定的差异。 #### debugger 本章节介绍如何在常用编辑器中调试 Midway 项目。 - [调试](/docs/3.0.0/debugger.md): 本章节介绍如何在常用编辑器中调试 Midway 项目。 #### decorator_index Midway 提供了很多装饰器能力,这些装饰器分布在不同的包,也提供了不同的功能,本章节提供一个快速反查的列表。 - [现有装饰器索引](/docs/3.0.0/decorator_index.md): Midway 提供了很多装饰器能力,这些装饰器分布在不同的包,也提供了不同的功能,本章节提供一个快速反查的列表。 #### deployment Midway 提供了一个轻量的启动器,用于启动你的应用。我们为应用提供了多种部署模式,你既可以将应用按照传统的样子,部署到任意的服务器上(比如自己购买的服务器),也可以将应用构建为一个 Serverless 应用,Midway 提供跨多云的部署方式。 - [启动和部署](/docs/3.0.0/deployment.md): Midway 提供了一个轻量的启动器,用于启动你的应用。我们为应用提供了多种部署模式,你既可以将应用按照传统的样子,部署到任意的服务器上(比如自己购买的服务器),也可以将应用构建为一个 Serverless 应用,Midway 提供跨多云的部署方式。 #### env_config 配置是我们常用的功能,而且在不同的环境,经常会使用不同的配置信息。 - [多环境配置](/docs/3.0.0/env_config.md): 配置是我们常用的功能,而且在不同的环境,经常会使用不同的配置信息。 #### environment Node.js 应用一般通过 NODE_ENV 来获取环境变量,来满足不同环境下的不同需求。比如在 production 环境下,开启缓存,优化性能,而在 development 环境下,会打开所有的日志开关,输出详细的错误信息等等。 - [运行环境](/docs/3.0.0/environment.md): Node.js 应用一般通过 NODE_ENV 来获取环境变量,来满足不同环境下的不同需求。比如在 production 环境下,开启缓存,优化性能,而在 development 环境下,会打开所有的日志开关,输出详细的错误信息等等。 #### error_code 以下是框架内置的错误,随着时间推移,我们会不断增加。 - [框架错误码](/docs/3.0.0/error_code.md): 以下是框架内置的错误,随着时间推移,我们会不断增加。 #### error_filter Midway 提供了一个内置的异常处理器,负责处理应用程序中所有未处理的异常。当您的应用程序代码抛出一个异常处理时,该处理器就会捕获该异常,然后等待用户处理。 - [异常处理](/docs/3.0.0/error_filter.md): Midway 提供了一个内置的异常处理器,负责处理应用程序中所有未处理的异常。当您的应用程序代码抛出一个异常处理时,该处理器就会捕获该异常,然后等待用户处理。 #### esm 在过去的几年中,Node.js一直致力于支持运行 ECMAScript模块 (ESM)。这是一个很难支持的功能,因为 Node.js 生态系统的基础是建立在一个不同的模块系统,称为 CommonJS (CJS)。 - [ESModule 使用指南](/docs/3.0.0/esm.md): 在过去的几年中,Node.js一直致力于支持运行 ECMAScript模块 (ESM)。这是一个很难支持的功能,因为 Node.js 生态系统的基础是建立在一个不同的模块系统,称为 CommonJS (CJS)。 #### extensions - [Alinode](/docs/3.0.0/extensions/alinode.md): 准备工作 - [HTTP 请求](/docs/3.0.0/extensions/axios.md): 简单的 HTTP 请求 - [任务队列](/docs/3.0.0/extensions/bull.md): 队列是一种强大的设计模式,可帮助您应对常见的应用程序扩展和性能挑战。队列可以帮助您解决的一些问题。 - [任务队列](/docs/3.0.0/extensions/bullmq.md): 队列是一种强大的设计模式,可帮助您应对常见的应用程序扩展和性能挑战。队列可以帮助您解决的一些问题: - [文件上传](/docs/3.0.0/extensions/busboy.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用上传组件,支持 file (服务器临时文件) 和 stream (流)两种模式。 - [缓存](/docs/3.0.0/extensions/cache.md): Midway Cache 是为了方便开发者进行缓存操作的组件,它有利于改善项目的性能。它为我们提供了一个数据中心以便进行高效的数据访问。 - [缓存](/docs/3.0.0/extensions/caching.md): 缓存是一个伟大而简单的技术,有助于提高你的应用程序的性能。本组件提供了缓存相关的能力,你可以将数据缓存到不同的数据源,也可以针对不同场景建立多级缓存,提高数据访问速度。 - [验证码](/docs/3.0.0/extensions/captcha.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用验证码组件,支持 图片验证码、计算表达式 等类型验证码。 - [角色鉴权](/docs/3.0.0/extensions/casbin.md): Casbin 是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。 - [cfork](/docs/3.0.0/extensions/cfork.md): 很多同学没有听过 cfork,cfork 库是 egg-scripts 中用于启动主进程的库,是 egg 使用的基础库之一,他的功能是启动进程,并维持多个进程的保活。 - [代码染色](/docs/3.0.0/extensions/code_dye.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的代码染色组件。 - [Consul](/docs/3.0.0/extensions/consul.md): consul 用于微服务下的服务治理,主要特点有:服务发现、服务配置、健康检查、键值存储、安全服务通信、多数据中心等。 - [腾讯云对象存储(COS)](/docs/3.0.0/extensions/cos.md): 本文介绍了如何使用 midway 接入腾讯云 COS。 - [本地任务](/docs/3.0.0/extensions/cron.md): 和 bull 组件不同,cron 组件提供的是本地任务能力,即在每台机器的每个进程都会执行。如需不同机器或者不同进程之间只执行一次任务,请使用 bull 组件 。 - [跨域](/docs/3.0.0/extensions/cross_domain.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用跨域组件,支持 cors 、jsonp 多种模式。 - [EggJS](/docs/3.0.0/extensions/egg.md): Midway 可以使用 EggJS 作为上层 Web 框架,EggJS 提供了非常多常用的插件和 API,帮助用户快速构建企业级 Web 应用。本章节内容,主要介绍 EggJS 在 Midway 中如何使用自身的能力。 - [ETCD](/docs/3.0.0/extensions/etcd.md): etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管。etcd 在微服务和 Kubernates 集群中可以作为服务注册于发现,也可以作为 key-value 存储的中间件。 - [Express](/docs/3.0.0/extensions/express.md): 本章节内容,主要介绍在 Midway 中如何使用 Express 作为上层框架,并使用自身的能力。 - [gRPC](/docs/3.0.0/extensions/grpc.md): gRPC 是一个高性能、通用的开源 RPC 框架,其由 Google 主要面向移动应用开发并基于 HTTP/2 协议标准而设计,基于 ProtoBuf(Protocol Buffers) 序列化协议开发,且支持众多开发语言。 - [HTTP 代理](/docs/3.0.0/extensions/http-proxy.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的 HTTP 请求代理组件,支持 GET、POST 等多种请求方法。 - [多语言](/docs/3.0.0/extensions/i18n.md): Midway 提供了多语言组件,让业务可以快速指定不同的语言,展示不同的文案,也可以在 HTTP 场景配合请求参数,请求头等方式来使用。 - [信息查看](/docs/3.0.0/extensions/info.md): Midway 提供了 info 组件,用于展示应用的基本信息,方便排查问题。 - [JWT](/docs/3.0.0/extensions/jwt.md): JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。 - [Kafka](/docs/3.0.0/extensions/kafka.md): 在复杂系统的架构中,事件流是很重要的一环,包括从事件源中(数据库、传感器、移动设备等)以事件流的方式去实时捕获数据,持久化事件流方便检索,并实时和回顾操作处理响应事件流。 - [Koa](/docs/3.0.0/extensions/koa.md): Koa 是一个非常轻量易用的 Web 框架。本章节内容,主要介绍在 Midway 中如何使用 Koa 作为上层框架,并使用自身的能力。 - [MikroORM](/docs/3.0.0/extensions/mikro.md): 本章节介绍用户如何在 midway 中使用 MikroORM。 MikroORM 是基于数据映射器、工作单元和身份映射模式的 Node.js 的 TypeScript ORM。 - [MongoDB](/docs/3.0.0/extensions/mongodb.md): 在这一章节中,我们选择 Typegoose 作为基础的 MongoDB ORM 库。就如同他描述的那样 " Define Mongoose models using TypeScript classes",和 TypeScript 结合的很不错。 - [MQTT](/docs/3.0.0/extensions/mqtt.md): MQTT是用于物联网 (IoT) 的OASIS标准消息传递协议。它被设计为非常轻量级的发布/订阅消息传输,非常适合以较小的代码占用空间和最小的网络带宽连接远程设备。MQTT目前广泛应用于汽车、制造、电信、石油和天然气等行业。 - [TypeORM](/docs/3.0.0/extensions/orm.md): TypeORM 是 node.js 现有社区最成熟的对象关系映射器(ORM )。本文介绍如何在 Midway 中使用 TypeORM 。 - [阿里云对象存储(OSS)](/docs/3.0.0/extensions/oss.md): 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低于 99.999999999%,服务设计可用性不低于 99.99%。具有与平台无关的 RESTful API 接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 - [链路追踪](/docs/3.0.0/extensions/otel.md): Midway 采用社区最新的 open-telemetry 方案,其前身是知名的 OpenTracing 和 OpenCensus 规范,现阶段也是 CNCF 的孵化项目,社区许多知名的大公司如 Amazon,Dynatrace,Microsoft,Google,Datadog,Splunk 等都有使用。 - [身份验证](/docs/3.0.0/extensions/passport.md): 身份验证是大多数 Web 应用程序的重要组成部分。因此 Midway 封装了目前 Nodejs 中最流行的 Passport 库。 - [pm2](/docs/3.0.0/extensions/pm2.md): PM2 是带有内置负载平衡器的 Node.js 应用程序的生产过程管理器。可以利用它来简化很多 Node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。 - [进程 Agent](/docs/3.0.0/extensions/process_agent.md): midway 封装了 @midwayjs/process-agent 用来解决 node 场景中,多进程部分场景数据进程间数据不一致,或者无法指定 master 进程执行某个方法。 - [Prometheus](/docs/3.0.0/extensions/prometheus.md): Prometheus(普罗米修斯)是一个最初在 SoundCloud 上构建的监控系统。 自 2012 年成为社区开源项目,拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus 于 2016 年加入云原生云计算基金会(CNCF),成为继 Kubernetes 之后的第二个托管项目。 - [RabbitMQ](/docs/3.0.0/extensions/rabbitmq.md): 在复杂系统的架构中,会有负责处理消息队列的微服务,如下图:服务A负责产生消息给消息队列,而服务B则负责消费消息队列中的任务。 - [Redis](/docs/3.0.0/extensions/redis.md): 这里介绍如何快速在 Midway 中使用 Redis。 - [模板渲染](/docs/3.0.0/extensions/render.md): 本组件用于在 midway 体系使用服务端渲染 ejs,nunjucks 模板。 - [安全](/docs/3.0.0/extensions/security.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用安全组件,支持 csrf 、xss 等多种安全策略。 - [Sequelize](/docs/3.0.0/extensions/sequelize.md): 本文档介绍如何在 Midway 中使用 Sequelize。 - [SocketIO](/docs/3.0.0/extensions/socketio.md): Socket.io 是一个业界常用库,可用于在浏览器和服务器之间进行实时,双向和基于事件的通信。 - [静态文件托管](/docs/3.0.0/extensions/static_file.md): midway 提供了基于 koa-static-cache 模块的静态资源托管组件。 - [Swagger](/docs/3.0.0/extensions/swagger.md): 基于最新的 OpenAPI 3.0.3 实现了新版的 Swagger 组件。 - [TableStore](/docs/3.0.0/extensions/tablestore.md): 本文介绍了如何使用 midway 接入阿里云 TableStore。 - [标签组件](/docs/3.0.0/extensions/tags.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用标签组件。 - [租户](/docs/3.0.0/extensions/tenant.md): 这里介绍如何快速在 Midway 中使用租户组件。 - [文件上传](/docs/3.0.0/extensions/upload.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用上传组件,支持 file (服务器临时文件) 和 stream (流)两种模式。 - [参数校验](/docs/3.0.0/extensions/validate.md): 我们经常要在方法调用时执行一些类型检查,参数转换的操作,Midway 提供了一种简单的能力来快速检查参数的类型,这个能力来源于 joi 。 - [WebSocket](/docs/3.0.0/extensions/ws.md): ws 模块是 Node 端的一个 WebSocket 协议的实现,该协议允许客户端(一般是浏览器)持久化和服务端的连接. #### faq - [关于 Alias Path](/docs/3.0.0/faq/alias_path.md): 我们并不建议使用 Alias Path, Node 和 TS 原生不支持这个功能,即使有,现在也是通过各种 Hack 手段来实现(从 v18 开始,Node.js 已经有 exports 的方案,但是类型还未支持,可以等后续)。 - [常见框架问题](/docs/3.0.0/faq/framework_problem.md): 多个 @midwayjs/core 警告 - [常见 git 问题](/docs/3.0.0/faq/git_problem.md): 文件名大小写问题 - [常见 npm 问题](/docs/3.0.0/faq/npm_problem.md): 1、不希望生成 package-lock.json - [常见 TS 问题](/docs/3.0.0/faq/ts_problem.md): TS 有很多编译静态检查,比如类型不一致,对象未定义等,默认情况下是最佳的,希望用户合理考虑编码风格和习惯,谨慎开关配置,享受 TS 静态检查带来的好处。 #### guard 从 v3.6.0 开始,Midway 提供守卫能力。 - [守卫](/docs/3.0.0/guard.md): 从 v3.6.0 开始,Midway 提供守卫能力。 #### hooks - [接口开发](/docs/3.0.0/hooks/api.md): 路由 - [Hooks](/docs/3.0.0/hooks/builtin-hooks.md): Midway Hooks 可以通过使用 Hooks 函数来获取运行时上下文。 - [前端请求客户端](/docs/3.0.0/hooks/client.md): 在 Midway Hooks 的全栈应用中,我们使用 @midwayjs/rpc 作为默认的请求客户端。所有生成的接口都会通过 @midwayjs/rpc 来调用服务端。 - [使用 Midway 组件](/docs/3.0.0/hooks/component.md): Midway 提供了一系列的组件,包含 Cache / Http / Redis 等。 - [项目配置](/docs/3.0.0/hooks/config.md): 我们通过项目根目录下的 midway.config.ts 来配置项目,具体的配置项如下。 - [跨域 CORS](/docs/3.0.0/hooks/cors.md): 在 Midway Hooks 中,可以通过 @koa/cors 来配置跨域功能。 - [调试](/docs/3.0.0/hooks/debug.md): 得益于编辑器的支持,我们可以快速的在本地调试应用。 - [部署](/docs/3.0.0/hooks/deploy.md): Midway Hooks 支持 Api Server 与一体化两种模式。 - [简易模式 & 文件系统路由](/docs/3.0.0/hooks/file-route.md): 简易模式 - [全栈套件](/docs/3.0.0/hooks/fullstack.md): 在 Midway Hooks 中,我们提供了 @midwayjs/hooks-kit 来快速开发全栈应用。目前我们提供了以下可直接使用的模版: - [介绍](/docs/3.0.0/hooks/intro.md): 一体化方案将逐步停止维护,已有项目可以继续使用,新建项目请谨慎选择。 - [Web 中间件](/docs/3.0.0/hooks/middleware.md): Midway Hooks 支持通过函数 + useContext() 来定义 Web 中间件。 - [Prisma ORM](/docs/3.0.0/hooks/prisma.md): 在 Midway Hooks 中,我们推荐使用 Prisma 来构建数据库,并实现我们静态类型安全的目标。 - [静态类型安全 + 运行时安全](/docs/3.0.0/hooks/safe.md): 使用 Prisma 和 @midwayjs/hooks 提供的 Validate 校验器,可以实现从前端到后端再到数据库的类型安全 + 运行时安全链路。 - [测试](/docs/3.0.0/hooks/test.md): 在 Midway Hooks 中,我们可以快速的对 Http 接口进行测试。 - [文件上传](/docs/3.0.0/hooks/upload.md): Midway Hooks 提供了 @midwayjs/hooks-upload 并配合 @midwayjs/upload 来实现纯函数 + 一体化项目中的文件上传功能。 - [参数校验](/docs/3.0.0/hooks/validate.md): 校验 #### how_to_install_nodejs 使用场景 - [如何安装 Node.js 环境](/docs/3.0.0/how_to_install_nodejs.md): 使用场景 #### how_to_update_midway 什么时候要更新 Midway - [如何更新 Midway](/docs/3.0.0/how_to_update_midway.md): 什么时候要更新 Midway #### intro Midway 是阿里巴巴 - 淘宝前端架构团队,基于渐进式理念研发的 Node.js 框架,通过自研的依赖注入容器,搭配各种上层模块,组合出适用于不同场景的解决方案。 - [介绍](/docs/3.0.0/intro.md): Midway 是阿里巴巴 - 淘宝前端架构团队,基于渐进式理念研发的 Node.js 框架,通过自研的依赖注入容器,搭配各种上层模块,组合出适用于不同场景的解决方案。 #### legacy - [MongoDB](/docs/3.0.0/legacy/mongodb.md): 本文档从 v3.4.0 版本起废弃。 - [TypeORM](/docs/3.0.0/legacy/orm.md): 本文档从 v3.4.0 版本起废弃。 - [Sequelize](/docs/3.0.0/legacy/sequelize.md): 本文档从 v3.4.0 版本起废弃。 - [任务调度](/docs/3.0.0/legacy/task.md): 本文档从 v3.6.0 版本起废弃。 #### lifecycle 在通常情况下,我们希望在应用启动的时候做一些初始化、或者其他一些预处理的事情,比如创建数据库连接、预生成一些配置,而不是在请求响应时去处理。 - [生命周期](/docs/3.0.0/lifecycle.md): 在通常情况下,我们希望在应用启动的时候做一些初始化、或者其他一些预处理的事情,比如创建数据库连接、预生成一些配置,而不是在请求响应时去处理。 #### logger 本文档为 @midwayjs/logger v2.0 版本的文档。 - [日志(v2)](/docs/3.0.0/logger.md): 本文档为 @midwayjs/logger v2.0 版本的文档。 #### logger_v3 Midway 为不同场景提供了一套统一的日志接入方式。通过 @midwayjs/logger 包导出的方法,可以方便的接入不同场景的日志系统。 - [日志](/docs/3.0.0/logger_v3.md): Midway 为不同场景提供了一套统一的日志接入方式。通过 @midwayjs/logger 包导出的方法,可以方便的接入不同场景的日志系统。 #### middleware Web 中间件是在控制器调用 之前 和 之后(部分)调用的函数。 中间件函数可以访问请求和响应对象。 - [Web 中间件](/docs/3.0.0/middleware.md): Web 中间件是在控制器调用 之前 和 之后(部分)调用的函数。 中间件函数可以访问请求和响应对象。 #### midway_component 组件是 Midway 的扩展机制,我们会将复用的业务代码,或者逻辑,抽象的公共的能力开发成组件,使得这些代码能够在所有的 Midway 场景下复用。 - [使用组件](/docs/3.0.0/midway_component.md): 组件是 Midway 的扩展机制,我们会将复用的业务代码,或者逻辑,抽象的公共的能力开发成组件,使得这些代码能够在所有的 Midway 场景下复用。 #### midway_slow_problem Midway 在本地开发时会使用 ts-node 实时扫描并 require 模块,如果 ts 文件太多(比如 200+)个,启动时可能会导致比较慢,在 Windows 下非 SSD 硬盘的情况下特别明显,导致 ts-node 的类型检查的 Server 频繁 fullGC,每个文件加载可能会达到 1-2s。 - [关于 Midway 启动慢的问题](/docs/3.0.0/midway_slow_problem.md): Midway 在本地开发时会使用 ts-node 实时扫描并 require 模块,如果 ts 文件太多(比如 200+)个,启动时可能会导致比较慢,在 Windows 下非 SSD 硬盘的情况下特别明显,导致 ts-node 的类型检查的 Server 频繁 fullGC,每个文件加载可能会达到 1-2s。 #### mock Midway 提供了内置的在开发和测试时模拟数据的能力。 - [数据模拟](/docs/3.0.0/mock.md): Midway 提供了内置的在开发和测试时模拟数据的能力。 #### ops - [服务器启动失败排查](/docs/3.0.0/ops/ecs_start_err.md): 应用启动失败是非常常见的现象,逻辑错误,编译错误,配置错误,环境问题,都有可能导致你的项目无法启动。 #### pipe 管道是参数装饰器的内部机制,可以在参数装饰器逻辑之后执行一些自定义代码,一般用于以下的场景: - [管道](/docs/3.0.0/pipe.md): 管道是参数装饰器的内部机制,可以在参数装饰器逻辑之后执行一些自定义代码,一般用于以下的场景: #### pipeline 有些场景下,我们希望把一个完整的任务拆分成不同的阶段,每个阶段执行的逻辑相对独立,同时又可以通过并行或者串行的方式提升整体的执行效率。在 Midway 中我们实现了一个优化的 Pipeline 模式。 - [流程控制](/docs/3.0.0/pipeline.md): 有些场景下,我们希望把一个完整的任务拆分成不同的阶段,每个阶段执行的逻辑相对独立,同时又可以通过并行或者串行的方式提升整体的执行效率。在 Midway 中我们实现了一个优化的 Pipeline 模式。 #### quick_guide 如果你没有接触过 Midway,没关系,本章节我们将从实例的角度,一步步地搭建出一个 Midway 标准应用,展示天气信息,让你能快速的入门 Midway。 - [快速入门](/docs/3.0.0/quick_guide.md): 如果你没有接触过 Midway,没关系,本章节我们将从实例的角度,一步步地搭建出一个 Midway 标准应用,展示天气信息,让你能快速的入门 Midway。 #### quickstart 技术选型 - [创建第一个应用](/docs/3.0.0/quickstart.md): 技术选型 #### release_schedule 下表是 Midway 整体的维护节奏和计划。 - [Midway 维护计划](/docs/3.0.0/release_schedule.md): 下表是 Midway 整体的维护节奏和计划。 #### req_res_app Midway 的应用会同时对外暴露不同协议,比如 Http,WebSocket 等等,这里每个协议对 Midway 来说都是由独立的组件提供的。 - [Application 和 Context](/docs/3.0.0/req_res_app.md): Midway 的应用会同时对外暴露不同协议,比如 Http,WebSocket 等等,这里每个协议对 Midway 来说都是由独立的组件提供的。 #### retry 从 Midway v3.5.0 开始,支持方法自定义重试逻辑。 - [重试机制](/docs/3.0.0/retry.md): 从 Midway v3.5.0 开始,支持方法自定义重试逻辑。 #### router_table 从 v2.8.0 开始,Midway 提供了内置的路由表能力,所有的 Web 框架都将使用这份路由表注册路由。 - [Web 路由表](/docs/3.0.0/router_table.md): 从 v2.8.0 开始,Midway 提供了内置的路由表能力,所有的 Web 框架都将使用这份路由表注册路由。 #### serverless - [部署到阿里云函数计算](/docs/3.0.0/serverless/aliyun_faas.md): 阿里云 Serverless 是国内最早提供 Serverless 计算服务的团队之一, 依托于阿里云强大的云基础设施服务能力,不断实现技术突破。目前,淘宝、支付宝、钉钉、高德等已经将 Serverless 应用于生产业务,云上的 Serverless 产品在南瓜电影、网易云音乐、爱奇艺体育、莉莉丝等数万家企业成功落地。 - [部署到 AWS Lambda](/docs/3.0.0/serverless/aws_lambda.md): AWS Lambda是Amazon Web Services (AWS)提供的无服务器计算服务。它允许您在无需预配或管理服务器的情况下运行代码。您可以为几乎任何类型的应用程序或后端服务运行代码,全部无需管理。 - [函数上下文](/docs/3.0.0/serverless/serverless_context.md): Event 转换 - [开发函数](/docs/3.0.0/serverless/serverless_dev.md): 初始化代码 - [默认错误行为](/docs/3.0.0/serverless/serverless_error.md): 错误值处理 - [介绍](/docs/3.0.0/serverless/serverless_intro.md): Midway Serverless 能做什么 - [Serverless 触发器 POST 情况差异](/docs/3.0.0/serverless/serverless_post_difference.md): 阿里云 API 网关 - [测试函数](/docs/3.0.0/serverless/serverless_testing.md): HTTP 类的函数 - [从 Serverless v2 迁移到 v3](/docs/3.0.0/serverless/serverless_v2_upgrade_serverless_v3.md): 基于 Midway 升级到 v3 的缘故,Serverless 体系也同步升级到了 v3 版本。 #### service 在业务中,只有控制器(Controller)的代码是不够的,一般来说会有一些业务逻辑被抽象到一个特定的逻辑单元中,我们一般称为服务(Service)。 - [服务和注入](/docs/3.0.0/service.md): 在业务中,只有控制器(Controller)的代码是不够的,一般来说会有一些业务逻辑被抽象到一个特定的逻辑单元中,我们一般称为服务(Service)。 #### service_factory 有时候编写组件或者编写服务,会碰到某个服务有多实例的情况,这个时候服务工厂(Service Factory)就适合这种场景。 - [服务工厂](/docs/3.0.0/service_factory.md): 有时候编写组件或者编写服务,会碰到某个服务有多实例的情况,这个时候服务工厂(Service Factory)就适合这种场景。 #### testing 应用开发中,测试十分重要,在传统 Web 产品快速迭代的时期,每个测试用例都给应用的稳定性提供了一层保障。 API 升级,测试用例可以很好地检查代码是否向下兼容。 对于各种可能的输入,一旦测试覆盖,都能明确它的输出。 代码改动后,可以通过测试结果判断代码的改动是否影响已确定的结果。 - [测试](/docs/3.0.0/testing.md): 应用开发中,测试十分重要,在传统 Web 产品快速迭代的时期,每个测试用例都给应用的稳定性提供了一层保障。 API 升级,测试用例可以很好地检查代码是否向下兼容。 对于各种可能的输入,一旦测试覆盖,都能明确它的输出。 代码改动后,可以通过测试结果判断代码的改动是否影响已确定的结果。 #### tool - [Midway CLI](/docs/3.0.0/tool/cli.md): 由于 CLI 底层能力都来源于社区现有的模块功能,为了减少过渡封装带来的维护成本和理解成本,CLI 中的各项功能都将逐步变为社区现有的模块,同时 CLI 库将停止继续迭代。 - [脚手架](/docs/3.0.0/tool/create_midway.md): Midway 编写了 create-midway 包,通过 npx 命令,可以方便的使用 npm init midway 命令创建脚手架。 - [egg:ts-helper](/docs/3.0.0/tool/egg-ts-helper.md): 针对 midway 支持 Egg.js 的场景,重写了原 egg-ts-helper 包,移除了原有的 TS,AST 分析等大依赖。 - [规则检查工具](/docs/3.0.0/tool/luckyeye.md): Midway 为常见的错误提供了一些检查工具,以方便用户快速排错。@midwayjs/luckyeye 包提供了一些基础的检查规则,配合 Midway 新版本可以快速排查问题。 - [Lint 和格式化](/docs/3.0.0/tool/mwts.md): Midway 的框架和业务代码都是由 TypeScript 编写的,默认 Midway 提供了一套默认的 lint、编辑器以及格式化规则,用于更方便的进行开发和测试。 - [开发工具](/docs/3.0.0/tool/mwtsc.md): 基于标准的 tsc 模块,midway 开发了一个简单的工具,用于本地开发和构建 ts 文件。 - [sequelize-auto-midway](/docs/3.0.0/tool/sequelize_generator.md): forked from sequelize/sequelize-auto - [typeorm:Model Generator](/docs/3.0.0/tool/typeorm_generator.md): 感谢社区用户 @youtiao66 提供此模块。 - [版本检查工具](/docs/3.0.0/tool/version_check.md): 由于依赖安装版本的不确定性,Midway 提供了 midway-version 这一版本检查工具,可以快速检查版本之间的兼容性错误。 #### upgrade_v3 本篇将介绍从 midway v2 升级为 midway v3 的方式。 - [2.x 升级指南](/docs/3.0.0/upgrade_v3.md): 本篇将介绍从 midway v2 升级为 midway v3 的方式。 ### aspect 我们经常有全局统一处理逻辑的需求,比如统一处理错误,转换格式等等,虽然在 Web 场景有 Web 中间件来处理,但是在其他场景下,无法使用这个能力。 - [拦截器(AOP)](/docs/aspect.md): 我们经常有全局统一处理逻辑的需求,比如统一处理错误,转换格式等等,虽然在 Web 场景有 Web 中间件来处理,但是在其他场景下,无法使用这个能力。 ### auto_run 在初始化过程中,当我们的代码和主流程无关,却想执行的时候,一般会在启动 onReady 阶段来执行,随着的代码量越来越多,onReady 会变的臃肿。 - [自执行代码](/docs/auto_run.md): 在初始化过程中,当我们的代码和主流程无关,却想执行的时候,一般会在启动 onReady 阶段来执行,随着的代码量越来越多,onReady 会变的臃肿。 ### awesome_midway 以下列举了与 Midwayjs 相关的优质社区项目 - [Awesome Midway](/docs/awesome_midway.md): 以下列举了与 Midwayjs 相关的优质社区项目 ### built_in_service 在 Midway 中,提供了众多的内置对象,方便用户使用。 - [内置服务](/docs/built_in_service.md): 在 Midway 中,提供了众多的内置对象,方便用户使用。 ### change_start_dir 在某些特殊场景下,可以修改源码所在的 src 目录。 - [修改源码目录](/docs/change_start_dir.md): 在某些特殊场景下,可以修改源码所在的 src 目录。 ### component_development 组件(Component)是一个可复用与多框架的模块包,一般用于几种场景: - [自定义组件](/docs/component_development.md): 组件(Component)是一个可复用与多框架的模块包,一般用于几种场景: ### container Midway 中使用了非常多的依赖注入的特性,通过装饰器的轻量特性,让依赖注入变的优雅,从而让开发过程变的便捷有趣。 - [依赖注入](/docs/container.md): Midway 中使用了非常多的依赖注入的特性,通过装饰器的轻量特性,让依赖注入变的优雅,从而让开发过程变的便捷有趣。 ### context_definition 由于 TS 的静态类型分析,我们并不推荐动态去挂载某些属性,动态的挂载会导致 TS 的类型处理非常困难。在某些特殊场景下,如果需要扩展上下文 ctx 属性,比如 Web 场景下中间件,我们可以往上附加一些方法或者属性。 - [扩展上下文定义](/docs/context_definition.md): 由于 TS 的静态类型分析,我们并不推荐动态去挂载某些属性,动态的挂载会导致 TS 的类型处理非常困难。在某些特殊场景下,如果需要扩展上下文 ctx 属性,比如 Web 场景下中间件,我们可以往上附加一些方法或者属性。 ### contributing Midway 是一款开源框架,欢迎大家为社区贡献力量,本文介绍如何向 Midway 提交 issue,贡献代码,文档等。 - [向 Midway 贡献](/docs/contributing.md): Midway 是一款开源框架,欢迎大家为社区贡献力量,本文介绍如何向 Midway 提交 issue,贡献代码,文档等。 ### controller 在常见的 MVC 架构中,C 即代表控制器,控制器用于负责 解析用户的输入,处理后返回相应的结果。 - [路由和控制器](/docs/controller.md): 在常见的 MVC 架构中,C 即代表控制器,控制器用于负责 解析用户的输入,处理后返回相应的结果。 ### cookie_session HTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。 Cookie 主要用于以下三个方面: - [Cookies 和 Session](/docs/cookie_session.md): HTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。 Cookie 主要用于以下三个方面: ### cusom_response 在大多数正常的逻辑中,返回数据只需要 return 相应的对象。 - [自定义数据响应](/docs/cusom_response.md): 在大多数正常的逻辑中,返回数据只需要 return 相应的对象。 ### custom_decorator 在新版本中,Midway 提供了由框架支持的自定义装饰器能力,它包括几个常用功能: - [自定义装饰器](/docs/custom_decorator.md): 在新版本中,Midway 提供了由框架支持的自定义装饰器能力,它包括几个常用功能: ### custom_error 在 Node.js 中,每个异常都是内置的 Error 类型的实例。 - [自定义错误](/docs/custom_error.md): 在 Node.js 中,每个异常都是内置的 Error 类型的实例。 ### data_listener 在某些场景下,我们希望订阅某个数据,并且在一段时间后更新它,这种类似订阅的方式,我们称之为 ”数据订阅“,常见的远程数据获取等,都可以应用这个模式。 - [数据订阅](/docs/data_listener.md): 在某些场景下,我们希望订阅某个数据,并且在一段时间后更新它,这种类似订阅的方式,我们称之为 ”数据订阅“,常见的远程数据获取等,都可以应用这个模式。 ### data_response 从 v3.17.0 开始,框架添加了 ServerResponse 和 HttpServerResponse 的实现。 - [数据响应](/docs/data_response.md): 从 v3.17.0 开始,框架添加了 ServerResponse 和 HttpServerResponse 的实现。 ### data_source 在使用数据库包过程中,我们经常会有多库连接和管理的需求,不同数据库的连接池管理,连接状态,以及使用的方式都有一定的差异。 - [数据源管理](/docs/data_source.md): 在使用数据库包过程中,我们经常会有多库连接和管理的需求,不同数据库的连接池管理,连接状态,以及使用的方式都有一定的差异。 ### debugger 本章节介绍如何在常用编辑器中调试 Midway 项目。 - [调试](/docs/debugger.md): 本章节介绍如何在常用编辑器中调试 Midway 项目。 ### decorator_index Midway 提供了很多装饰器能力,这些装饰器分布在不同的包,也提供了不同的功能,本章节提供一个快速反查的列表。 - [现有装饰器索引](/docs/decorator_index.md): Midway 提供了很多装饰器能力,这些装饰器分布在不同的包,也提供了不同的功能,本章节提供一个快速反查的列表。 ### deployment Midway 提供了一个轻量的启动器,用于启动你的应用。我们为应用提供了多种部署模式,你既可以将应用按照传统的样子,部署到任意的服务器上(比如自己购买的服务器),也可以将应用构建为一个 Serverless 应用,Midway 提供跨多云的部署方式。 - [启动和部署](/docs/deployment.md): Midway 提供了一个轻量的启动器,用于启动你的应用。我们为应用提供了多种部署模式,你既可以将应用按照传统的样子,部署到任意的服务器上(比如自己购买的服务器),也可以将应用构建为一个 Serverless 应用,Midway 提供跨多云的部署方式。 ### env_config 配置是我们常用的功能,而且在不同的环境,经常会使用不同的配置信息。 - [多环境配置](/docs/env_config.md): 配置是我们常用的功能,而且在不同的环境,经常会使用不同的配置信息。 ### environment Node.js 应用一般通过 NODE_ENV 来获取环境变量,来满足不同环境下的不同需求。比如在 production 环境下,开启缓存,优化性能,而在 development 环境下,会打开所有的日志开关,输出详细的错误信息等等。 - [运行环境](/docs/environment.md): Node.js 应用一般通过 NODE_ENV 来获取环境变量,来满足不同环境下的不同需求。比如在 production 环境下,开启缓存,优化性能,而在 development 环境下,会打开所有的日志开关,输出详细的错误信息等等。 ### error_code 以下是框架内置的错误,随着时间推移,我们会不断增加。 - [框架错误码](/docs/error_code.md): 以下是框架内置的错误,随着时间推移,我们会不断增加。 ### error_filter Midway 提供了一个内置的异常处理器,负责处理应用程序中所有未处理的异常。当您的应用程序代码抛出一个异常处理时,该处理器就会捕获该异常,然后等待用户处理。 - [异常处理](/docs/error_filter.md): Midway 提供了一个内置的异常处理器,负责处理应用程序中所有未处理的异常。当您的应用程序代码抛出一个异常处理时,该处理器就会捕获该异常,然后等待用户处理。 ### esm 在过去的几年中,Node.js一直致力于支持运行 ECMAScript模块 (ESM)。这是一个很难支持的功能,因为 Node.js 生态系统的基础是建立在一个不同的模块系统,称为 CommonJS (CJS)。 - [ESModule 使用指南](/docs/esm.md): 在过去的几年中,Node.js一直致力于支持运行 ECMAScript模块 (ESM)。这是一个很难支持的功能,因为 Node.js 生态系统的基础是建立在一个不同的模块系统,称为 CommonJS (CJS)。 ### extensions #### alinode 准备工作 - [Alinode](/docs/extensions/alinode.md): 准备工作 #### axios 简单的 HTTP 请求 - [HTTP 请求](/docs/extensions/axios.md): 简单的 HTTP 请求 #### bull 队列是一种强大的设计模式,可帮助您应对常见的应用程序扩展和性能挑战。队列可以帮助您解决的一些问题。 - [任务队列](/docs/extensions/bull.md): 队列是一种强大的设计模式,可帮助您应对常见的应用程序扩展和性能挑战。队列可以帮助您解决的一些问题。 #### bullmq 队列是一种强大的设计模式,可帮助您应对常见的应用程序扩展和性能挑战。队列可以帮助您解决的一些问题: - [任务队列](/docs/extensions/bullmq.md): 队列是一种强大的设计模式,可帮助您应对常见的应用程序扩展和性能挑战。队列可以帮助您解决的一些问题: #### busboy 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用上传组件,支持 file (服务器临时文件) 和 stream (流)两种模式。 - [文件上传](/docs/extensions/busboy.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用上传组件,支持 file (服务器临时文件) 和 stream (流)两种模式。 #### cache Midway Cache 是为了方便开发者进行缓存操作的组件,它有利于改善项目的性能。它为我们提供了一个数据中心以便进行高效的数据访问。 - [缓存](/docs/extensions/cache.md): Midway Cache 是为了方便开发者进行缓存操作的组件,它有利于改善项目的性能。它为我们提供了一个数据中心以便进行高效的数据访问。 #### caching 缓存是一个伟大而简单的技术,有助于提高你的应用程序的性能。本组件提供了缓存相关的能力,你可以将数据缓存到不同的数据源,也可以针对不同场景建立多级缓存,提高数据访问速度。 - [缓存](/docs/extensions/caching.md): 缓存是一个伟大而简单的技术,有助于提高你的应用程序的性能。本组件提供了缓存相关的能力,你可以将数据缓存到不同的数据源,也可以针对不同场景建立多级缓存,提高数据访问速度。 #### captcha 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用验证码组件,支持 图片验证码、计算表达式 等类型验证码。 - [验证码](/docs/extensions/captcha.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用验证码组件,支持 图片验证码、计算表达式 等类型验证码。 #### casbin Casbin 是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。 - [角色鉴权](/docs/extensions/casbin.md): Casbin 是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。 #### cfork 很多同学没有听过 cfork,cfork 库是 egg-scripts 中用于启动主进程的库,是 egg 使用的基础库之一,他的功能是启动进程,并维持多个进程的保活。 - [cfork](/docs/extensions/cfork.md): 很多同学没有听过 cfork,cfork 库是 egg-scripts 中用于启动主进程的库,是 egg 使用的基础库之一,他的功能是启动进程,并维持多个进程的保活。 #### code_dye 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的代码染色组件。 - [代码染色](/docs/extensions/code_dye.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的代码染色组件。 #### commander @midwayjs/commander 是一个基于 Midway IoC 容器的命令行组件,底层使用 commander.js 做参数解析与 help 输出。你可以用 Midway 熟悉的依赖注入方式组织命令、选项解析与业务逻辑,并将命令拆分为多个 Class。 - [命令行](/docs/extensions/commander.md): @midwayjs/commander 是一个基于 Midway IoC 容器的命令行组件,底层使用 commander.js 做参数解析与 help 输出。你可以用 Midway 熟悉的依赖注入方式组织命令、选项解析与业务逻辑,并将命令拆分为多个 Class。 #### consul consul 用于微服务下的服务治理,主要特点有:服务发现、服务配置、健康检查、键值存储、安全服务通信、多数据中心等。 - [Consul](/docs/extensions/consul.md): consul 用于微服务下的服务治理,主要特点有:服务发现、服务配置、健康检查、键值存储、安全服务通信、多数据中心等。 #### cos 本文介绍了如何使用 midway 接入腾讯云 COS。 - [腾讯云对象存储(COS)](/docs/extensions/cos.md): 本文介绍了如何使用 midway 接入腾讯云 COS。 #### cron 和 bull 组件不同,cron 组件提供的是本地任务能力,即在每台机器的每个进程都会执行。如需不同机器或者不同进程之间只执行一次任务,请使用 bull 组件 。 - [本地任务](/docs/extensions/cron.md): 和 bull 组件不同,cron 组件提供的是本地任务能力,即在每台机器的每个进程都会执行。如需不同机器或者不同进程之间只执行一次任务,请使用 bull 组件 。 #### cross_domain 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用跨域组件,支持 cors 、jsonp 多种模式。 - [跨域](/docs/extensions/cross_domain.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用跨域组件,支持 cors 、jsonp 多种模式。 #### crud 本文档介绍如何在 Midway 中使用 @midwayjs/crud。 - [CRUD](/docs/extensions/crud.md): 本文档介绍如何在 Midway 中使用 @midwayjs/crud。 #### egg Midway 可以使用 EggJS 作为上层 Web 框架,EggJS 提供了非常多常用的插件和 API,帮助用户快速构建企业级 Web 应用。本章节内容,主要介绍 EggJS 在 Midway 中如何使用自身的能力。 - [EggJS](/docs/extensions/egg.md): Midway 可以使用 EggJS 作为上层 Web 框架,EggJS 提供了非常多常用的插件和 API,帮助用户快速构建企业级 Web 应用。本章节内容,主要介绍 EggJS 在 Midway 中如何使用自身的能力。 #### etcd etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管。etcd 在微服务和 Kubernates 集群中可以作为服务注册于发现,也可以作为 key-value 存储的中间件。 - [ETCD](/docs/extensions/etcd.md): etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管。etcd 在微服务和 Kubernates 集群中可以作为服务注册于发现,也可以作为 key-value 存储的中间件。 #### events 事件组件是基于 eventemitter2 实现的,提供了强大的事件处理能力。 - [事件](/docs/extensions/events.md): 事件组件是基于 eventemitter2 实现的,提供了强大的事件处理能力。 #### express 本章节内容,主要介绍在 Midway 中如何使用 Express 作为上层框架,并使用自身的能力。 - [Express](/docs/extensions/express.md): 本章节内容,主要介绍在 Midway 中如何使用 Express 作为上层框架,并使用自身的能力。 #### grpc gRPC 是一个高性能、通用的开源 RPC 框架,其由 Google 主要面向移动应用开发并基于 HTTP/2 协议标准而设计,基于 ProtoBuf(Protocol Buffers) 序列化协议开发,且支持众多开发语言。 - [gRPC](/docs/extensions/grpc.md): gRPC 是一个高性能、通用的开源 RPC 框架,其由 Google 主要面向移动应用开发并基于 HTTP/2 协议标准而设计,基于 ProtoBuf(Protocol Buffers) 序列化协议开发,且支持众多开发语言。 #### http-proxy 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的 HTTP 请求代理组件,支持 GET、POST 等多种请求方法。 - [HTTP 代理](/docs/extensions/http-proxy.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的 HTTP 请求代理组件,支持 GET、POST 等多种请求方法。 #### i18n Midway 提供了多语言组件,让业务可以快速指定不同的语言,展示不同的文案,也可以在 HTTP 场景配合请求参数,请求头等方式来使用。 - [多语言](/docs/extensions/i18n.md): Midway 提供了多语言组件,让业务可以快速指定不同的语言,展示不同的文案,也可以在 HTTP 场景配合请求参数,请求头等方式来使用。 #### info Midway 提供了 info 组件,用于展示应用的基本信息,方便排查问题。 - [信息查看](/docs/extensions/info.md): Midway 提供了 info 组件,用于展示应用的基本信息,方便排查问题。 #### jwt JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。 - [JWT](/docs/extensions/jwt.md): JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。 #### kafka 在复杂系统的架构中,事件流是很重要的一环,包括从事件源中(数据库、传感器、移动设备等)以事件流的方式去实时捕获数据,持久化事件流方便检索,并实时和回顾操作处理响应事件流。 - [Kafka](/docs/extensions/kafka.md): 在复杂系统的架构中,事件流是很重要的一环,包括从事件源中(数据库、传感器、移动设备等)以事件流的方式去实时捕获数据,持久化事件流方便检索,并实时和回顾操作处理响应事件流。 #### koa Koa 是一个非常轻量易用的 Web 框架。本章节内容,主要介绍在 Midway 中如何使用 Koa 作为上层框架,并使用自身的能力。 - [Koa](/docs/extensions/koa.md): Koa 是一个非常轻量易用的 Web 框架。本章节内容,主要介绍在 Midway 中如何使用 Koa 作为上层框架,并使用自身的能力。 #### mcp MCP (Model Context Protocol) 是由 Anthropic 开发的开放标准协议,用于将 AI 模型与外部数据源和工具安全连接。它允许 AI 应用程序与各种服务进行语义集成,为 AI 模型提供了获取实时信息、执行操作和访问资源的标准化方式。 - [MCP (Model Context Protocol)](/docs/extensions/mcp.md): MCP (Model Context Protocol) 是由 Anthropic 开发的开放标准协议,用于将 AI 模型与外部数据源和工具安全连接。它允许 AI 应用程序与各种服务进行语义集成,为 AI 模型提供了获取实时信息、执行操作和访问资源的标准化方式。 #### mikro 本章节介绍用户如何在 midway 中使用 MikroORM。 MikroORM 是基于数据映射器、工作单元和身份映射模式的 Node.js 的 TypeScript ORM。 - [MikroORM](/docs/extensions/mikro.md): 本章节介绍用户如何在 midway 中使用 MikroORM。 MikroORM 是基于数据映射器、工作单元和身份映射模式的 Node.js 的 TypeScript ORM。 #### mongodb 在这一章节中,我们选择 Typegoose 作为基础的 MongoDB ORM 库。就如同他描述的那样 " Define Mongoose models using TypeScript classes",和 TypeScript 结合的很不错。 - [MongoDB](/docs/extensions/mongodb.md): 在这一章节中,我们选择 Typegoose 作为基础的 MongoDB ORM 库。就如同他描述的那样 " Define Mongoose models using TypeScript classes",和 TypeScript 结合的很不错。 #### mqtt MQTT是用于物联网 (IoT) 的OASIS标准消息传递协议。它被设计为非常轻量级的发布/订阅消息传输,非常适合以较小的代码占用空间和最小的网络带宽连接远程设备。MQTT目前广泛应用于汽车、制造、电信、石油和天然气等行业。 - [MQTT](/docs/extensions/mqtt.md): MQTT是用于物联网 (IoT) 的OASIS标准消息传递协议。它被设计为非常轻量级的发布/订阅消息传输,非常适合以较小的代码占用空间和最小的网络带宽连接远程设备。MQTT目前广泛应用于汽车、制造、电信、石油和天然气等行业。 #### one-shot @midwayjs/one-shot 是一个只提供 Framework 的一次性脚本执行组件,适合用 IoC 容器组织依赖,并在应用内触发一次性的任务逻辑。 - [单次执行](/docs/extensions/one-shot.md): @midwayjs/one-shot 是一个只提供 Framework 的一次性脚本执行组件,适合用 IoC 容器组织依赖,并在应用内触发一次性的任务逻辑。 #### orm TypeORM 是 node.js 现有社区最成熟的对象关系映射器(ORM )。本文介绍如何在 Midway 中使用 TypeORM 。 - [TypeORM](/docs/extensions/orm.md): TypeORM 是 node.js 现有社区最成熟的对象关系映射器(ORM )。本文介绍如何在 Midway 中使用 TypeORM 。 #### oss 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低于 99.999999999%,服务设计可用性不低于 99.99%。具有与平台无关的 RESTful API 接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 - [阿里云对象存储(OSS)](/docs/extensions/oss.md): 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低于 99.999999999%,服务设计可用性不低于 99.99%。具有与平台无关的 RESTful API 接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 #### passport 身份验证是大多数 Web 应用程序的重要组成部分。因此 Midway 封装了目前 Nodejs 中最流行的 Passport 库。 - [身份验证](/docs/extensions/passport.md): 身份验证是大多数 Web 应用程序的重要组成部分。因此 Midway 封装了目前 Nodejs 中最流行的 Passport 库。 #### piscina 线程池组件 @midwayjs/piscina 基于 Piscina 提供在 Worker 线程池中执行任务的能力,适合 CPU 密集型计算,不会阻塞主线程。 - [线程池](/docs/extensions/piscina.md): 线程池组件 @midwayjs/piscina 基于 Piscina 提供在 Worker 线程池中执行任务的能力,适合 CPU 密集型计算,不会阻塞主线程。 #### pm2 PM2 是带有内置负载平衡器的 Node.js 应用程序的生产过程管理器。可以利用它来简化很多 Node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。 - [pm2](/docs/extensions/pm2.md): PM2 是带有内置负载平衡器的 Node.js 应用程序的生产过程管理器。可以利用它来简化很多 Node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。 #### process_agent midway 封装了 @midwayjs/process-agent 用来解决 node 场景中,多进程部分场景数据进程间数据不一致,或者无法指定 master 进程执行某个方法。 - [进程 Agent](/docs/extensions/process_agent.md): midway 封装了 @midwayjs/process-agent 用来解决 node 场景中,多进程部分场景数据进程间数据不一致,或者无法指定 master 进程执行某个方法。 #### prometheus Prometheus(普罗米修斯)是一个最初在 SoundCloud 上构建的监控系统。 自 2012 年成为社区开源项目,拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus 于 2016 年加入云原生云计算基金会(CNCF),成为继 Kubernetes 之后的第二个托管项目。 - [Prometheus](/docs/extensions/prometheus.md): Prometheus(普罗米修斯)是一个最初在 SoundCloud 上构建的监控系统。 自 2012 年成为社区开源项目,拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus 于 2016 年加入云原生云计算基金会(CNCF),成为继 Kubernetes 之后的第二个托管项目。 #### rabbitmq 在复杂系统的架构中,会有负责处理消息队列的微服务,如下图:服务A负责产生消息给消息队列,而服务B则负责消费消息队列中的任务。 - [RabbitMQ](/docs/extensions/rabbitmq.md): 在复杂系统的架构中,会有负责处理消息队列的微服务,如下图:服务A负责产生消息给消息队列,而服务B则负责消费消息队列中的任务。 #### redis 这里介绍如何快速在 Midway 中使用 Redis。 - [Redis](/docs/extensions/redis.md): 这里介绍如何快速在 Midway 中使用 Redis。 #### render 本组件用于在 midway 体系使用服务端渲染 ejs,nunjucks 模板。 - [模板渲染](/docs/extensions/render.md): 本组件用于在 midway 体系使用服务端渲染 ejs,nunjucks 模板。 #### security 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用安全组件,支持 csrf 、xss 等多种安全策略。 - [安全](/docs/extensions/security.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用安全组件,支持 csrf 、xss 等多种安全策略。 #### sequelize 本文档介绍如何在 Midway 中使用 Sequelize。 - [Sequelize](/docs/extensions/sequelize.md): 本文档介绍如何在 Midway 中使用 Sequelize。 #### socketio Socket.io 是一个业界常用库,可用于在浏览器和服务器之间进行实时,双向和基于事件的通信。 - [SocketIO](/docs/extensions/socketio.md): Socket.io 是一个业界常用库,可用于在浏览器和服务器之间进行实时,双向和基于事件的通信。 #### static_file midway 提供了基于 koa-static-cache 模块的静态资源托管组件。 - [静态文件托管](/docs/extensions/static_file.md): midway 提供了基于 koa-static-cache 模块的静态资源托管组件。 #### swagger 基于最新的 OpenAPI 3.0.3 实现了新版的 Swagger 组件。 - [Swagger](/docs/extensions/swagger.md): 基于最新的 OpenAPI 3.0.3 实现了新版的 Swagger 组件。 #### tablestore 本文介绍了如何使用 midway 接入阿里云 TableStore。 - [TableStore](/docs/extensions/tablestore.md): 本文介绍了如何使用 midway 接入阿里云 TableStore。 #### tags 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用标签组件。 - [标签组件](/docs/extensions/tags.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用标签组件。 #### tenant 这里介绍如何快速在 Midway 中使用租户组件。 - [租户](/docs/extensions/tenant.md): 这里介绍如何快速在 Midway 中使用租户组件。 #### upload 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用上传组件,支持 file (服务器临时文件) 和 stream (流)两种模式。 - [文件上传](/docs/extensions/upload.md): 适用于 @midwayjs/faas 、@midwayjs/web 、@midwayjs/koa 和 @midwayjs/express 多种框架的通用上传组件,支持 file (服务器临时文件) 和 stream (流)两种模式。 #### validate 我们经常要在方法调用时执行一些类型检查,参数转换的操作,Midway 提供了一种简单的能力来快速检查参数的类型,这个能力来源于 joi 。 - [参数校验](/docs/extensions/validate.md): 我们经常要在方法调用时执行一些类型检查,参数转换的操作,Midway 提供了一种简单的能力来快速检查参数的类型,这个能力来源于 joi 。 #### validation 我们经常要在方法调用时执行一些类型检查,参数转换的操作,Midway 提供了一种简单的能力来快速检查参数的类型。 - [参数校验](/docs/extensions/validation.md): 我们经常要在方法调用时执行一些类型检查,参数转换的操作,Midway 提供了一种简单的能力来快速检查参数的类型。 #### ws ws 模块是 Node 端的一个 WebSocket 协议的实现,该协议允许客户端(一般是浏览器)持久化和服务端的连接. - [WebSocket](/docs/extensions/ws.md): ws 模块是 Node 端的一个 WebSocket 协议的实现,该协议允许客户端(一般是浏览器)持久化和服务端的连接. ### faq #### alias_path 我们并不建议使用 Alias Path, Node 和 TS 原生不支持这个功能,即使有,现在也是通过各种 Hack 手段来实现(从 v18 开始,Node.js 已经有 exports 的方案,但是类型还未支持,可以等后续)。 - [关于 Alias Path](/docs/faq/alias_path.md): 我们并不建议使用 Alias Path, Node 和 TS 原生不支持这个功能,即使有,现在也是通过各种 Hack 手段来实现(从 v18 开始,Node.js 已经有 exports 的方案,但是类型还未支持,可以等后续)。 #### framework_problem 多个 @midwayjs/core 警告 - [常见框架问题](/docs/faq/framework_problem.md): 多个 @midwayjs/core 警告 #### git_problem 文件名大小写问题 - [常见 git 问题](/docs/faq/git_problem.md): 文件名大小写问题 #### npm_problem 1、不希望生成 package-lock.json - [常见 npm 问题](/docs/faq/npm_problem.md): 1、不希望生成 package-lock.json #### ts_problem TS 有很多编译静态检查,比如类型不一致,对象未定义等,默认情况下是最佳的,希望用户合理考虑编码风格和习惯,谨慎开关配置,享受 TS 静态检查带来的好处。 - [常见 TS 问题](/docs/faq/ts_problem.md): TS 有很多编译静态检查,比如类型不一致,对象未定义等,默认情况下是最佳的,希望用户合理考虑编码风格和习惯,谨慎开关配置,享受 TS 静态检查带来的好处。 ### functional #### api-reference 本页用于快速查询 @midwayjs/core/functional 当前可用的函数式 API。 - [函数式 API](/docs/functional/api-reference.md): 本页用于快速查询 @midwayjs/core/functional 当前可用的函数式 API。 #### build-deploy Functional 一体化项目的实践建议是:开发一体化,部署分离化。 - [构建部署](/docs/functional/build-deploy.md): Functional 一体化项目的实践建议是:开发一体化,部署分离化。 #### frontend-integration 这一节给出一条可直接落地的路线:把 React/Vue 项目和函数式 Midway 接起来。 - [前端集成](/docs/functional/frontend-integration.md): 这一节给出一条可直接落地的路线:把 React/Vue 项目和函数式 Midway 接起来。 #### fundamentals 这一章回答三个核心问题: - [函数式基础](/docs/functional/fundamentals.md): 这一章回答三个核心问题: #### intro 这套文档的目标只有一个:让你尽快把前后端联调跑起来。 - [概览](/docs/functional/intro.md): 这套文档的目标只有一个:让你尽快把前后端联调跑起来。 #### migration 迁移建议是“渐进式”,不要一次改完。 - [迁移指南](/docs/functional/migration.md): 迁移建议是“渐进式”,不要一次改完。 #### react 本节按“能跑起来”为目标,给出最小接入步骤。 - [React 集成](/docs/functional/react.md): 本节按“能跑起来”为目标,给出最小接入步骤。 #### testing 建议把 Functional API 的测试分成三层:契约层、服务端层、前端调用层。 - [测试](/docs/functional/testing.md): 建议把 Functional API 的测试分成三层:契约层、服务端层、前端调用层。 #### validation 这一节说明 Functional API 里的参数校验方式,以及它和 class + decorator + pipeline 的关系。 - [参数校验](/docs/functional/validation.md): 这一节说明 Functional API 里的参数校验方式,以及它和 class + decorator + pipeline 的关系。 #### vue 这篇和 React 一样,先保证你能快速接通调用链路。 - [Vue 集成](/docs/functional/vue.md): 这篇和 React 一样,先保证你能快速接通调用链路。 #### workspace 这一页解决两个常见问题: - [目录与编辑](/docs/functional/workspace.md): 这一页解决两个常见问题: ### guard 从 v3.6.0 开始,Midway 提供守卫能力。 - [守卫](/docs/guard.md): 从 v3.6.0 开始,Midway 提供守卫能力。 ### hooks #### api 路由 - [接口开发](/docs/hooks/api.md): 路由 #### builtin-hooks Midway Hooks 可以通过使用 Hooks 函数来获取运行时上下文。 - [Hooks](/docs/hooks/builtin-hooks.md): Midway Hooks 可以通过使用 Hooks 函数来获取运行时上下文。 #### client 在 Midway Hooks 的全栈应用中,我们使用 @midwayjs/rpc 作为默认的请求客户端。所有生成的接口都会通过 @midwayjs/rpc 来调用服务端。 - [前端请求客户端](/docs/hooks/client.md): 在 Midway Hooks 的全栈应用中,我们使用 @midwayjs/rpc 作为默认的请求客户端。所有生成的接口都会通过 @midwayjs/rpc 来调用服务端。 #### component Midway 提供了一系列的组件,包含 Cache / Http / Redis 等。 - [使用 Midway 组件](/docs/hooks/component.md): Midway 提供了一系列的组件,包含 Cache / Http / Redis 等。 #### config 我们通过项目根目录下的 midway.config.ts 来配置项目,具体的配置项如下。 - [项目配置](/docs/hooks/config.md): 我们通过项目根目录下的 midway.config.ts 来配置项目,具体的配置项如下。 #### cors 在 Midway Hooks 中,可以通过 @koa/cors 来配置跨域功能。 - [跨域 CORS](/docs/hooks/cors.md): 在 Midway Hooks 中,可以通过 @koa/cors 来配置跨域功能。 #### debug 得益于编辑器的支持,我们可以快速的在本地调试应用。 - [调试](/docs/hooks/debug.md): 得益于编辑器的支持,我们可以快速的在本地调试应用。 #### deploy Midway Hooks 支持 Api Server 与一体化两种模式。 - [部署](/docs/hooks/deploy.md): Midway Hooks 支持 Api Server 与一体化两种模式。 #### file-route 简易模式 - [简易模式 & 文件系统路由](/docs/hooks/file-route.md): 简易模式 #### fullstack 在 Midway Hooks 中,我们提供了 @midwayjs/hooks-kit 来快速开发全栈应用。目前我们提供了以下可直接使用的模版: - [全栈套件](/docs/hooks/fullstack.md): 在 Midway Hooks 中,我们提供了 @midwayjs/hooks-kit 来快速开发全栈应用。目前我们提供了以下可直接使用的模版: #### intro 一体化方案将逐步停止维护,已有项目可以继续使用,新建项目请谨慎选择。 - [介绍](/docs/hooks/intro.md): 一体化方案将逐步停止维护,已有项目可以继续使用,新建项目请谨慎选择。 #### middleware Midway Hooks 支持通过函数 + useContext() 来定义 Web 中间件。 - [Web 中间件](/docs/hooks/middleware.md): Midway Hooks 支持通过函数 + useContext() 来定义 Web 中间件。 #### prisma 在 Midway Hooks 中,我们推荐使用 Prisma 来构建数据库,并实现我们静态类型安全的目标。 - [Prisma ORM](/docs/hooks/prisma.md): 在 Midway Hooks 中,我们推荐使用 Prisma 来构建数据库,并实现我们静态类型安全的目标。 #### safe 使用 Prisma 和 @midwayjs/hooks 提供的 Validate 校验器,可以实现从前端到后端再到数据库的类型安全 + 运行时安全链路。 - [静态类型安全 + 运行时安全](/docs/hooks/safe.md): 使用 Prisma 和 @midwayjs/hooks 提供的 Validate 校验器,可以实现从前端到后端再到数据库的类型安全 + 运行时安全链路。 #### test 在 Midway Hooks 中,我们可以快速的对 Http 接口进行测试。 - [测试](/docs/hooks/test.md): 在 Midway Hooks 中,我们可以快速的对 Http 接口进行测试。 #### upload Midway Hooks 提供了 @midwayjs/hooks-upload 并配合 @midwayjs/upload 来实现纯函数 + 一体化项目中的文件上传功能。 - [文件上传](/docs/hooks/upload.md): Midway Hooks 提供了 @midwayjs/hooks-upload 并配合 @midwayjs/upload 来实现纯函数 + 一体化项目中的文件上传功能。 #### validate 校验 - [参数校验](/docs/hooks/validate.md): 校验 ### how_to_install_nodejs 使用场景 - [如何安装 Node.js 环境](/docs/how_to_install_nodejs.md): 使用场景 ### how_to_update_midway 什么时候要更新 Midway - [如何更新 Midway](/docs/how_to_update_midway.md): 什么时候要更新 Midway ### intro Midway 基于渐进式理念研发的 Node.js 框架,通过自研的依赖注入容器,搭配各种上层模块,组合出适用于不同场景的解决方案。 - [介绍](/docs/intro.md): Midway 基于渐进式理念研发的 Node.js 框架,通过自研的依赖注入容器,搭配各种上层模块,组合出适用于不同场景的解决方案。 ### legacy #### mongodb 本文档从 v3.4.0 版本起废弃。 - [MongoDB](/docs/legacy/mongodb.md): 本文档从 v3.4.0 版本起废弃。 #### orm 本文档从 v3.4.0 版本起废弃。 - [TypeORM](/docs/legacy/orm.md): 本文档从 v3.4.0 版本起废弃。 #### sequelize 本文档从 v3.4.0 版本起废弃。 - [Sequelize](/docs/legacy/sequelize.md): 本文档从 v3.4.0 版本起废弃。 #### task 本文档从 v3.6.0 版本起废弃。 - [任务调度](/docs/legacy/task.md): 本文档从 v3.6.0 版本起废弃。 ### lifecycle 在通常情况下,我们希望在应用启动的时候做一些初始化、或者其他一些预处理的事情,比如创建数据库连接、预生成一些配置,而不是在请求响应时去处理。 - [生命周期](/docs/lifecycle.md): 在通常情况下,我们希望在应用启动的时候做一些初始化、或者其他一些预处理的事情,比如创建数据库连接、预生成一些配置,而不是在请求响应时去处理。 ### logger 本文档为 @midwayjs/logger v2.0 版本的文档。 - [日志(v2)](/docs/logger.md): 本文档为 @midwayjs/logger v2.0 版本的文档。 ### logger_v3 Midway 为不同场景提供了一套统一的日志接入方式。通过 @midwayjs/logger 包导出的方法,可以方便的接入不同场景的日志系统。 - [日志](/docs/logger_v3.md): Midway 为不同场景提供了一套统一的日志接入方式。通过 @midwayjs/logger 包导出的方法,可以方便的接入不同场景的日志系统。 ### middleware Web 中间件是在控制器调用 之前 和 之后(部分) 调用的函数。 中间件函数可以访问请求和响应对象。 - [Web 中间件](/docs/middleware.md): Web 中间件是在控制器调用 之前 和 之后(部分) 调用的函数。 中间件函数可以访问请求和响应对象。 ### midway_component 组件是 Midway 的扩展机制,我们会将复用的业务代码,或者逻辑,抽象的公共的能力开发成组件,使得这些代码能够在所有的 Midway 场景下复用。 - [使用组件](/docs/midway_component.md): 组件是 Midway 的扩展机制,我们会将复用的业务代码,或者逻辑,抽象的公共的能力开发成组件,使得这些代码能够在所有的 Midway 场景下复用。 ### midway_slow_problem Midway 在本地开发时会使用 ts-node 实时扫描并 require 模块,如果 ts 文件太多(比如 200+)个,启动时可能会导致比较慢,在 Windows 下非 SSD 硬盘的情况下特别明显,导致 ts-node 的类型检查的 Server 频繁 fullGC,每个文件加载可能会达到 1-2s。 - [关于 Midway 启动慢的问题](/docs/midway_slow_problem.md): Midway 在本地开发时会使用 ts-node 实时扫描并 require 模块,如果 ts 文件太多(比如 200+)个,启动时可能会导致比较慢,在 Windows 下非 SSD 硬盘的情况下特别明显,导致 ts-node 的类型检查的 Server 频繁 fullGC,每个文件加载可能会达到 1-2s。 ### mock Midway 提供了内置的在开发和测试时模拟数据的能力。 - [数据模拟](/docs/mock.md): Midway 提供了内置的在开发和测试时模拟数据的能力。 ### ops #### ecs_start_err 应用启动失败是非常常见的现象,逻辑错误,编译错误,配置错误,环境问题,都有可能导致你的项目无法启动。 - [服务器启动失败排查](/docs/ops/ecs_start_err.md): 应用启动失败是非常常见的现象,逻辑错误,编译错误,配置错误,环境问题,都有可能导致你的项目无法启动。 ### pipe 管道是参数装饰器的内部机制,可以在参数装饰器逻辑之后执行一些自定义代码,一般用于以下的场景: - [管道](/docs/pipe.md): 管道是参数装饰器的内部机制,可以在参数装饰器逻辑之后执行一些自定义代码,一般用于以下的场景: ### pipeline 4.0 中,我们移除了该功能。 - [流程控制](/docs/pipeline.md): 4.0 中,我们移除了该功能。 ### quick_guide 如果你没有接触过 Midway,没关系,本章节我们将从实例的角度,一步步地搭建出一个 Midway 标准应用,展示天气信息,让你能快速的入门 Midway。 - [快速入门](/docs/quick_guide.md): 如果你没有接触过 Midway,没关系,本章节我们将从实例的角度,一步步地搭建出一个 Midway 标准应用,展示天气信息,让你能快速的入门 Midway。 ### quickstart 技术选型 - [创建第一个应用](/docs/quickstart.md): 技术选型 ### release_schedule 下表是 Midway 整体的维护节奏和计划。 - [Midway 维护计划](/docs/release_schedule.md): 下表是 Midway 整体的维护节奏和计划。 ### req_res_app Midway 的应用会同时对外暴露不同协议,比如 Http,WebSocket 等等,这里每个协议对 Midway 来说都是由独立的组件提供的。 - [Application 和 Context](/docs/req_res_app.md): Midway 的应用会同时对外暴露不同协议,比如 Http,WebSocket 等等,这里每个协议对 Midway 来说都是由独立的组件提供的。 ### retry 从 Midway v3.5.0 开始,支持方法自定义重试逻辑。 - [重试机制](/docs/retry.md): 从 Midway v3.5.0 开始,支持方法自定义重试逻辑。 ### router_table 从 v2.8.0 开始,Midway 提供了内置的路由表能力,所有的 Web 框架都将使用这份路由表注册路由。 - [Web 路由表](/docs/router_table.md): 从 v2.8.0 开始,Midway 提供了内置的路由表能力,所有的 Web 框架都将使用这份路由表注册路由。 ### serverless #### aliyun_faas 阿里云 Serverless 是国内最早提供 Serverless 计算服务的团队之一, 依托于阿里云强大的云基础设施服务能力,不断实现技术突破。目前,淘宝、支付宝、钉钉、高德等已经将 Serverless 应用于生产业务,云上的 Serverless 产品在南瓜电影、网易云音乐、爱奇艺体育、莉莉丝等数万家企业成功落地。 - [部署到阿里云函数计算](/docs/serverless/aliyun_faas.md): 阿里云 Serverless 是国内最早提供 Serverless 计算服务的团队之一, 依托于阿里云强大的云基础设施服务能力,不断实现技术突破。目前,淘宝、支付宝、钉钉、高德等已经将 Serverless 应用于生产业务,云上的 Serverless 产品在南瓜电影、网易云音乐、爱奇艺体育、莉莉丝等数万家企业成功落地。 #### aws_lambda AWS Lambda是Amazon Web Services (AWS)提供的无服务器计算服务。它允许您在无需预配或管理服务器的情况下运行代码。您可以为几乎任何类型的应用程序或后端服务运行代码,全部无需管理。 - [部署到 AWS Lambda](/docs/serverless/aws_lambda.md): AWS Lambda是Amazon Web Services (AWS)提供的无服务器计算服务。它允许您在无需预配或管理服务器的情况下运行代码。您可以为几乎任何类型的应用程序或后端服务运行代码,全部无需管理。 #### serverless_context Event 转换 - [函数上下文](/docs/serverless/serverless_context.md): Event 转换 #### serverless_dev 初始化代码 - [开发函数](/docs/serverless/serverless_dev.md): 初始化代码 #### serverless_error 错误值处理 - [默认错误行为](/docs/serverless/serverless_error.md): 错误值处理 #### serverless_intro Midway Serverless 能做什么 - [介绍](/docs/serverless/serverless_intro.md): Midway Serverless 能做什么 #### serverless_post_difference 阿里云 API 网关 - [Serverless 触发器 POST 情况差异](/docs/serverless/serverless_post_difference.md): 阿里云 API 网关 #### serverless_testing HTTP 类的函数 - [测试函数](/docs/serverless/serverless_testing.md): HTTP 类的函数 #### serverless_v2_upgrade_serverless_v3 基于 Midway 升级到 v3 的缘故,Serverless 体系也同步升级到了 v3 版本。 - [从 Serverless v2 迁移到 v3](/docs/serverless/serverless_v2_upgrade_serverless_v3.md): 基于 Midway 升级到 v3 的缘故,Serverless 体系也同步升级到了 v3 版本。 ### service 在业务中,只有控制器(Controller)的代码是不够的,一般来说会有一些业务逻辑被抽象到一个特定的逻辑单元中,我们一般称为服务(Service)。 - [服务和注入](/docs/service.md): 在业务中,只有控制器(Controller)的代码是不够的,一般来说会有一些业务逻辑被抽象到一个特定的逻辑单元中,我们一般称为服务(Service)。 ### service_discovery 在分布式架构中,服务发现用于自动注册和发现可用的服务实例,并通过健康检查与负载均衡确保调用的稳定与高可用。Midway 在核心层提供了统一的抽象与基类,并在不同的注册中心上提供了具体实现(Consul、ETCD、Redis),以适配多种使用场景。 - [服务发现(Service Discovery)](/docs/service_discovery.md): 在分布式架构中,服务发现用于自动注册和发现可用的服务实例,并通过健康检查与负载均衡确保调用的稳定与高可用。Midway 在核心层提供了统一的抽象与基类,并在不同的注册中心上提供了具体实现(Consul、ETCD、Redis),以适配多种使用场景。 ### service_factory 有时候编写组件或者编写服务,会碰到某个服务有多实例的情况,这个时候服务工厂(Service Factory)就适合这种场景。 - [服务工厂](/docs/service_factory.md): 有时候编写组件或者编写服务,会碰到某个服务有多实例的情况,这个时候服务工厂(Service Factory)就适合这种场景。 ### skill_midway @midwayjs/skill-midway 是 Midway 官方提供的 AI Skill 包。 - [Midway Skill 使用](/docs/skill_midway.md): @midwayjs/skill-midway 是 Midway 官方提供的 AI Skill 包。 ### testing 应用开发中,测试十分重要,在传统 Web 产品快速迭代的时期,每个测试用例都给应用的稳定性提供了一层保障。 API 升级,测试用例可以很好地检查代码是否向下兼容。 对于各种可能的输入,一旦测试覆盖,都能明确它的输出。 代码改动后,可以通过测试结果判断代码的改动是否影响已确定的结果。 - [测试](/docs/testing.md): 应用开发中,测试十分重要,在传统 Web 产品快速迭代的时期,每个测试用例都给应用的稳定性提供了一层保障。 API 升级,测试用例可以很好地检查代码是否向下兼容。 对于各种可能的输入,一旦测试覆盖,都能明确它的输出。 代码改动后,可以通过测试结果判断代码的改动是否影响已确定的结果。 ### tool #### cli 由于 CLI 底层能力都来源于社区现有的模块功能,为了减少过渡封装带来的维护成本和理解成本,CLI 中的各项功能都将逐步变为社区现有的模块,同时 CLI 库将停止继续迭代。 - [Midway CLI](/docs/tool/cli.md): 由于 CLI 底层能力都来源于社区现有的模块功能,为了减少过渡封装带来的维护成本和理解成本,CLI 中的各项功能都将逐步变为社区现有的模块,同时 CLI 库将停止继续迭代。 #### create_midway Midway 编写了 create-midway 包,通过 npx 命令,可以方便的使用 npm init midway 命令创建脚手架。 - [脚手架](/docs/tool/create_midway.md): Midway 编写了 create-midway 包,通过 npx 命令,可以方便的使用 npm init midway 命令创建脚手架。 #### egg-ts-helper 针对 midway 支持 Egg.js 的场景,重写了原 egg-ts-helper 包,移除了原有的 TS,AST 分析等大依赖。 - [egg:ts-helper](/docs/tool/egg-ts-helper.md): 针对 midway 支持 Egg.js 的场景,重写了原 egg-ts-helper 包,移除了原有的 TS,AST 分析等大依赖。 #### luckyeye Midway 为常见的错误提供了一些检查工具,以方便用户快速排错。@midwayjs/luckyeye 包提供了一些基础的检查规则,配合 Midway 新版本可以快速排查问题。 - [规则检查工具](/docs/tool/luckyeye.md): Midway 为常见的错误提供了一些检查工具,以方便用户快速排错。@midwayjs/luckyeye 包提供了一些基础的检查规则,配合 Midway 新版本可以快速排查问题。 #### mwts Midway 的框架和业务代码主要由 TypeScript 编写,默认使用 mwts 统一 lint 和格式化。 - [Lint 和格式化](/docs/tool/mwts.md): Midway 的框架和业务代码主要由 TypeScript 编写,默认使用 mwts 统一 lint 和格式化。 #### mwtsc 基于标准的 tsc 模块,midway 开发了一个简单的工具,用于本地开发和构建 ts 文件。 - [开发工具](/docs/tool/mwtsc.md): 基于标准的 tsc 模块,midway 开发了一个简单的工具,用于本地开发和构建 ts 文件。 #### sequelize_generator forked from sequelize/sequelize-auto - [sequelize-auto-midway](/docs/tool/sequelize_generator.md): forked from sequelize/sequelize-auto #### typeorm_generator 感谢社区用户 @youtiao66 提供此模块。 - [typeorm:Model Generator](/docs/tool/typeorm_generator.md): 感谢社区用户 @youtiao66 提供此模块。 #### version_check 由于依赖安装版本的不确定性,Midway 提供了 midway-version 这一版本检查工具,可以快速检查版本之间的兼容性错误。 - [版本检查工具](/docs/tool/version_check.md): 由于依赖安装版本的不确定性,Midway 提供了 midway-version 这一版本检查工具,可以快速检查版本之间的兼容性错误。 ### tracing 从 Midway v4 开始,框架侧 tracing 能力已合并到 @midwayjs/core,不再需要安装和启用 @midwayjs/otel 组件。 - [链路追踪](/docs/tracing.md): 从 Midway v4 开始,框架侧 tracing 能力已合并到 @midwayjs/core,不再需要安装和启用 @midwayjs/otel 组件。 ### upgrade_v3 本篇将介绍从 midway v2 升级为 midway v3 的方式。 - [2.x 升级指南](/docs/upgrade_v3.md): 本篇将介绍从 midway v2 升级为 midway v3 的方式。 ### upgrade_v4 本篇将介绍从 midway v3 升级为 midway v4 的方式。 - [3.x 升级指南](/docs/upgrade_v4.md): 本篇将介绍从 midway v3 升级为 midway v4 的方式。 ### versioning 在现代 API 开发中,版本化是一个非常重要的话题。当你的 API 需要进行不兼容的更改时,版本化可以确保现有的客户端不会受到影响,同时允许新的客户端使用新的功能。 - [路由版本化](/docs/versioning.md): 在现代 API 开发中,版本化是一个非常重要的话题。当你的 API 需要进行不兼容的更改时,版本化可以确保现有的客户端不会受到影响,同时允许新的客户端使用新的功能。