mustard-app
Version:
个人前端微应用建设中。。。
45 lines (44 loc) • 1.25 kB
TypeScript
import { SandBox } from './proxy/sandBox';
import { MustardApp } from './element';
import { MustardState } from './proxy/proxyHistory';
import { IAppConstructor, IAppStatus, MustardName, MustardURL, SpurceValue } from './typings';
import { EventCenterMicorLife } from './communication';
export default class App {
baseUrl: MustardURL;
url: MustardURL;
name: MustardName;
container: MustardApp;
sandbox: SandBox;
loadCount: number;
status: IAppStatus;
state: MustardState;
microLifeCenter: EventCenterMicorLife;
source: {
links: Map<string, SpurceValue>;
scripts: Map<string, SpurceValue>;
domClick: string;
};
constructor({ name, url: baseUrl, container }: IAppConstructor);
reload(): void;
init(): void;
onLoad(htmlDom: HTMLElement): void;
/**
* 资源加载完成后进行渲染
*/
mount(html: HTMLElement): void;
/**
* 卸载应用
* 执行关闭沙箱,清空缓存等操作
* @param destory 是否销毁应用
*/
unmount(destory: boolean): void;
/**
* 销毁应用
*/
destory(): void;
/**
* 子应用加载失败
* @param error 失败原因
*/
error(error: Error): void;
}