mustard-app
Version:
个人前端微应用建设中。。。
74 lines (73 loc) • 2.27 kB
TypeScript
import { MustardName, MustardURL, TFunction } from '../typings';
/**
* 获取虚拟路由key
* @param appName
* @returns
*/
export declare function getLocationNameByAppName(appName: MustardName): string;
/**
* 根据相对地址和当前页面地址返回具体资源路径
* @param relativePath 相对地址
* @param absolutePath 当前页面地址
* @returns
*/
export declare function getCompletePath(relativePath: string, absolutePath?: string): string;
/**
* 请求资源
* @param relativePath 相对地址
* @param absolutePath 当前页面地址
* @returns
*/
export declare function fetchSource(relativePath: string, absolutePath?: string): Promise<string>;
/**
* 监听Dom变化
* @param dom 需要监听的dom元素
* @param config 需要监听的范围 e.g 属性变动/子节点变动
* @param callback 监听变动回调函数
*/
export declare function mutationObserver(dom: Element, config: MutationObserverInit, callback: MutationCallback): MutationObserver;
/**
* 处理子应用的dom
* 1. 加上子应用标识 appName
* 2. 修改ownerDocument,代理到proxydocument
* 3. 特殊dom,特殊处理 e.g 1. 远程资源src 2. 动态style处理(实时加入前缀)
* @param dom
* @param _appName 子应用标识
* @returns
*/
export declare function handleDom<T extends Element>(dom: T, _appName?: MustardName): T;
/**
* 处理选择器
* e.g.
* 1. head -> mustard-app-head
* 2. body -> mustard-app-body
* @param selectors
*/
export declare function handleSelectors(selectors: string): string;
/**
* 获取相对地址
* 根据子应用的appName,从loaction.search 上读取对应数据
* @param appName
* @returns
*/
export declare function getPath(appName: MustardName): string;
/**
* 获取地址的URL对象
* @param appName
* @param baseUrl
* @returns
*/
export declare function getURL(appName: MustardName, baseUrl: MustardURL): URL;
/**
*
* @param path 子应用地址路径
* @param appName 子应用标识
* @param location // 父应用或基座location
* @returns
*/
export declare function getNewPathToMustard(path: string, appName: MustardName): string;
/**
* 异步下一微任务运行
* @param fn 待运行的方法
*/
export declare function nextTick(fn: TFunction): void;