App 是 Esmx 框架的应用抽象,提供了统一的接口来管理应用的生命周期、静态资源和服务端渲染。
export default {
async devApp(esmx) {
return import('@esmx/rspack').then((m) =>
m.createRspackHtmlApp(esmx, {
config(rc) {
}
})
);
}
}interface App {
middleware: Middleware;
render: (options?: RenderContextOptions) => Promise<RenderContext>;
build?: () => Promise<boolean>;
destroy?: () => Promise<boolean>;
}Middleware静态资源处理中间件。
开发环境:
生产环境:
server.use(esmx.middleware);(options?: RenderContextOptions) => Promise<RenderContext>服务端渲染函数。根据运行环境提供不同实现:
const rc = await esmx.render({
params: { url: '/page' }
});
res.end(rc.html);() => Promise<boolean>生产环境构建函数。用于资源打包和优化。构建成功返回 true,失败返回 false。
() => Promise<boolean>资源清理函数。用于关闭服务器、断开连接等。清理成功返回 true,失败返回 false。