Release 4.0.0-beta.10
· 2 minute read
这是 Midway 4.0 的第十个 beta 版本。
本次版本新增一次性脚本执行组件与 commander 命令行组件,并补充了相关文档说明。
🚀 主要新增功能
单次执行组件(One-shot)
新增 @midwayjs/one-shot 组件,用于在应用启动后执行一次性脚本逻辑,支持在 onServerReady 生命周期中触发。
示例:
import { Configuration, Inject } from '@midwayjs/core';
import * as oneShot from '@midwayjs/one-shot';
import { Framework } from '@midwayjs/one-shot';
import { SyncUserScript } from './script/syncUser';
@Configuration({
imports: [oneShot],
})
export class MainConfiguration {
@Inject()
framework: Framework;
async onServerReady() {
await this.framework.runScript(SyncUserScript, { id: 42 });
}
}
更多说明请参考 单次执行组件文档。
Commander 命令行组件
新增 @midwayjs/commander 命令行组件,提供命令注册、参数解析、上下文创建与中间件链支持,并内置基于 enquirer 的交互式提问能力。
示例:
import { Command, CommandRunner } from '@midwayjs/commander';
@Command({ name: 'hello', arguments: '<name>' })
export class HelloCommand implements CommandRunner {
async run([name]: string[]) {
return `hello ${name}`;
}
}
更多说明请参考 Commander 组件文档。
🐛 修复与改进
- 文档更新:validation 组件升级说明、one-shot 组件文档、commander 目录结构示例