### Example ```typescript import MSL, { microappId } from 'microapp-service-layer'; import MicroappEventBus, { Events } from 'microapp-service-layer/lib/eventbus';
npm install microapp-service-layertypescript
import MSL, { microappId } from 'microapp-service-layer';
import MicroappEventBus, { Events } from 'microapp-service-layer/lib/eventbus';MSL.createApp({ elementOrSelector:
#${microappId} });
MicroappEventBus.emit(Events.DID_UPDATE, { created: true });
`$3
`typescript
interface MicroappServiceLayer {
microappInstance: MicroappInstance | null; isMicroappInstanceRegistered: boolean;
registerMicroappInstance(): Promise;
unregisterMicroappInstance(): void;
createTemplate(options: CreateTemplateOptions): Promise;
createApp(options: CreateAppOptions): Promise;
}
type MicroappInstance = {
createApp: (options: CreateAppOptions) => Promise;
getInitialOptions?: () => Record;
};
type CreateAppOptions = {
appId?: string;
elementOrSelector: Element | string;
eventbus?: unknown;
mount?: boolean;
state?: Record;
beforeCreate?: (...args: unknown[]) => void;
};
type CreateTemplateOptions = {
path: string;
[key: string]: any;
};
type Template = {
html: string;
state: string;
styles: string;
template?: string;
};
type Result = {
ok: boolean;
};
export type App = {
app: unknown;
router: unknown;
store: unknown;
};
`.envs
`
MSL_API_URL || VUE_APP_MSL_API_URL || http://localhost:5000
``