Midway v2.12.5 发布,Node.js 框架
Midway 是一个适用于构建 Serverless 服务,传统应用、微服务,小程序后端的 Node.js 框架。
Features
1、支持 onConfigLoad 生命周期
在 Configuration 中新增了一个 onConfigLoad 方法,用于替代原有的 bootstrap 中的 before 方法,可以用做配置异步加载。
示例:
@Configuration({
importConfigs: [
join(__dirname, './config/'),
]
})
export class ContainerLifeCycle {
async onConfigLoad(container: IMidwayContainer) {
// 这里你可以修改全局配置
const remoteConfigService = await container.getAsync(RemoteConfigService);
const remoteConfig = await remoteConfigService.getData();
// 这里的返回值会和全局的 config 做合并
return {
data: remoteConfig
};
}
}
文档已更新。
2、Task 增加并发配置
感谢社区 @EliYao 提供此 PR。
开放了一个 bull 中并发创建任务的配置,默认为 1。
export const task = {
concurrency: 1
}
Bugfix
1、修复组件分环境加载报错的问题
在帮用户排查问题时发现,组件在使用环境过滤时,会出现未找到组件Configuration 的错误,原因为组件被过滤后,组件的类定义依旧在容器中(reuqire 时执行)。
新版本修复了这个问题。
出现场景:swagger 组件
2、处理 aspect 拦截求链式调用的问题
感谢社区 @chenzhaozheng 提供此 PR。
现在,在被拦截的对象调用其他的方法 ,依旧会被正确拦截。
3、处理 egg-layer 中 unix socket 转发中文的问题
感谢社区 @dreamer2q 提供此 PR。
在 egg-layer 中,使用了 unix socket 转发的方案,在转发 path 中包含中文字符时,会出现 unsupport 的报错。新版本修复了该问题。