@blueking/bk-weweb 0.0.35-beta.1 → 0.0.35-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +326 -42
- package/dist/index.esm.js +599 -252
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -131,19 +131,90 @@ declare class Style {
|
|
|
131
131
|
private observeContentChanges;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
+
/**
|
|
135
|
+
* 应用缓存管理器
|
|
136
|
+
* @description 负责管理所有微应用实例的缓存、资源共享和状态跟踪
|
|
137
|
+
*/
|
|
134
138
|
declare class AppCache {
|
|
135
|
-
|
|
136
|
-
private
|
|
139
|
+
/** 基础资源源,用于主应用共享资源包 */
|
|
140
|
+
private readonly baseSource;
|
|
141
|
+
/** 应用实例缓存映射表 */
|
|
142
|
+
private readonly cache;
|
|
143
|
+
/**
|
|
144
|
+
* 构造函数
|
|
145
|
+
* @description 初始化应用缓存管理器
|
|
146
|
+
*/
|
|
137
147
|
constructor();
|
|
138
|
-
|
|
148
|
+
/**
|
|
149
|
+
* 设置应用实例到缓存
|
|
150
|
+
* @description 将应用实例添加到缓存中,使用应用的缓存键作为标识
|
|
151
|
+
* @param app - 要缓存的应用实例
|
|
152
|
+
* @returns void
|
|
153
|
+
*/
|
|
154
|
+
setApp(app: BaseModel): void;
|
|
155
|
+
/**
|
|
156
|
+
* 获取缓存的应用实例
|
|
157
|
+
* @description 根据名称或ID获取已缓存的应用实例
|
|
158
|
+
* @param name - 应用名称或ID,为空时返回 undefined
|
|
159
|
+
* @returns BaseModel | undefined - 应用实例或 undefined
|
|
160
|
+
*/
|
|
139
161
|
getApp(name?: null | string): BaseModel | undefined;
|
|
140
|
-
|
|
162
|
+
/**
|
|
163
|
+
* 删除缓存的应用实例
|
|
164
|
+
* @description 从缓存中移除指定URL的应用实例
|
|
165
|
+
* @param url - 要删除的应用URL标识
|
|
166
|
+
* @returns void
|
|
167
|
+
*/
|
|
168
|
+
deleteApp(url: string): void;
|
|
169
|
+
/**
|
|
170
|
+
* 获取缓存的HTML内容
|
|
171
|
+
* @description 根据URL获取已缓存的HTML内容
|
|
172
|
+
* @param url - 应用的URL
|
|
173
|
+
* @returns string - HTML内容,未找到时返回空字符串
|
|
174
|
+
*/
|
|
141
175
|
getCacheHtml(url: string): string;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
176
|
+
/**
|
|
177
|
+
* 设置基础应用脚本
|
|
178
|
+
* @description 将脚本添加到基础资源源中,供多个应用共享
|
|
179
|
+
* @param url - 脚本的URL
|
|
180
|
+
* @param script - 脚本实例
|
|
181
|
+
* @returns void
|
|
182
|
+
*/
|
|
145
183
|
setBaseAppScript(url: string, script: Script): void;
|
|
184
|
+
/**
|
|
185
|
+
* 获取缓存的脚本资源
|
|
186
|
+
* @description 从基础资源源或应用缓存中获取脚本资源
|
|
187
|
+
* @param url - 脚本的URL
|
|
188
|
+
* @returns Script | undefined - 脚本实例或 undefined
|
|
189
|
+
*/
|
|
190
|
+
getCacheScript(url: string): Script | undefined;
|
|
191
|
+
/**
|
|
192
|
+
* 设置基础应用样式
|
|
193
|
+
* @description 将样式添加到基础资源源中,供多个应用共享
|
|
194
|
+
* @param url - 样式的URL
|
|
195
|
+
* @param style - 样式实例
|
|
196
|
+
* @returns void
|
|
197
|
+
*/
|
|
146
198
|
setBaseAppStyle(url: string, style: Style): void;
|
|
199
|
+
/**
|
|
200
|
+
* 获取基础应用样式
|
|
201
|
+
* @description 从基础资源源中获取样式资源
|
|
202
|
+
* @param urlOrCode - 样式的URL或代码
|
|
203
|
+
* @returns Style | undefined - 样式实例或 undefined
|
|
204
|
+
*/
|
|
205
|
+
getBaseAppStyle(urlOrCode: string): Style | undefined;
|
|
206
|
+
/**
|
|
207
|
+
* 获取缓存的样式资源
|
|
208
|
+
* @description 从基础资源源或应用缓存中获取样式资源
|
|
209
|
+
* @param url - 样式的URL
|
|
210
|
+
* @returns Style | undefined - 样式实例或 undefined
|
|
211
|
+
*/
|
|
212
|
+
getCacheStyle(url: string): Style | undefined;
|
|
213
|
+
/**
|
|
214
|
+
* 检查是否存在活跃的应用
|
|
215
|
+
* @description 判断当前是否有处于非卸载状态的应用实例
|
|
216
|
+
* @returns boolean - 存在活跃应用时返回 true
|
|
217
|
+
*/
|
|
147
218
|
get hasActiveApp(): boolean;
|
|
148
219
|
}
|
|
149
220
|
|
|
@@ -174,46 +245,146 @@ declare const AppState: {
|
|
|
174
245
|
type KeyOfAppState = keyof typeof AppState;
|
|
175
246
|
type ValueOfAppState = (typeof AppState)[KeyOfAppState];
|
|
176
247
|
|
|
248
|
+
/**
|
|
249
|
+
* BK WEWEB 支持的自定义属性枚举
|
|
250
|
+
* @description 定义了 bk-weweb 自定义元素支持的所有属性配置
|
|
251
|
+
*/
|
|
177
252
|
declare enum WewebCustomAttrs {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
253
|
+
/** 传递给子应用的数据 */
|
|
254
|
+
data = "data",
|
|
255
|
+
/** 应用唯一标识符 */
|
|
256
|
+
id = "id",
|
|
257
|
+
/** 是否启用缓存模式 */
|
|
258
|
+
keepAlive = "keepAlive",
|
|
259
|
+
/** 应用运行模式 */
|
|
260
|
+
mode = "mode",
|
|
261
|
+
/** 是否开启 CSS 样式隔离 */
|
|
262
|
+
scopeCss = "scopeCss",
|
|
263
|
+
/** 是否开启 JavaScript 隔离 */
|
|
264
|
+
scopeJs = "scopeJs",
|
|
265
|
+
/** 是否开启 location 路由隔离 */
|
|
266
|
+
scopeLocation = "scopeLocation",
|
|
267
|
+
/** 是否启用 Shadow DOM */
|
|
268
|
+
setShodowDom = "setShodowDom",
|
|
269
|
+
/** 是否显示源码 */
|
|
270
|
+
showSourceCode = "showSourceCode",
|
|
271
|
+
/** 应用资源 URL */
|
|
187
272
|
url = "url"
|
|
188
273
|
}
|
|
189
274
|
|
|
190
275
|
type FakeWindow = Window & Record<string, unknown>;
|
|
191
276
|
|
|
192
277
|
/**
|
|
193
|
-
*
|
|
194
|
-
*
|
|
278
|
+
* 微前端沙箱实现类
|
|
279
|
+
* @description 提供应用间的环境隔离,防止全局变量污染,支持多应用并存运行
|
|
195
280
|
*/
|
|
196
281
|
declare class SandBox {
|
|
197
|
-
app: BaseModel;
|
|
282
|
+
readonly app: BaseModel;
|
|
283
|
+
/** 沙箱激活状态标识 */
|
|
198
284
|
private active;
|
|
199
|
-
|
|
285
|
+
/** 记录在原始 window 上新增的属性键集合 */
|
|
286
|
+
private readonly inRawWindowKeySet;
|
|
287
|
+
/** 重置文档和 body 事件的函数 */
|
|
200
288
|
private resetDocumentAndBodyEvent?;
|
|
201
|
-
|
|
202
|
-
private
|
|
203
|
-
|
|
289
|
+
/** 重置 window 函数的方法 */
|
|
290
|
+
private readonly resetWindowFunction;
|
|
291
|
+
/** 记录与原始 window 相同的属性键集合 */
|
|
292
|
+
private readonly sameRawWindowKeySet;
|
|
293
|
+
/** 伪造的 window 对象 */
|
|
294
|
+
readonly fakeWindow: FakeWindow & IInjectWindowAttrs;
|
|
295
|
+
/** 代理的 document 对象 */
|
|
204
296
|
proxyDocument: any;
|
|
205
|
-
|
|
297
|
+
/** 代理的 window 对象 */
|
|
298
|
+
readonly proxyWindow: WindowProxy & IInjectWindowAttrs;
|
|
299
|
+
/** 原始 document 对象 */
|
|
206
300
|
rawDocument: Record<string, any>;
|
|
207
|
-
|
|
208
|
-
|
|
301
|
+
/** 原始 window 对象 */
|
|
302
|
+
readonly rawWindow: Window;
|
|
303
|
+
/** 在 window 上的唯一标识键 */
|
|
304
|
+
readonly windowSymbolKey: keyof Window;
|
|
305
|
+
/**
|
|
306
|
+
* 构造函数
|
|
307
|
+
* @description 初始化沙箱环境,创建代理对象和隔离机制
|
|
308
|
+
* @param app - 关联的微应用实例
|
|
309
|
+
*/
|
|
209
310
|
constructor(app: BaseModel);
|
|
311
|
+
/**
|
|
312
|
+
* 处理代理对象的 get 操作
|
|
313
|
+
* @description 统一处理代理对象属性获取的复杂逻辑
|
|
314
|
+
* @param target - 目标对象
|
|
315
|
+
* @param key - 属性键
|
|
316
|
+
* @param rawWindow - 原始 window 对象
|
|
317
|
+
* @returns unknown - 属性值
|
|
318
|
+
* @private
|
|
319
|
+
*/
|
|
320
|
+
private handleProxyGet;
|
|
321
|
+
/**
|
|
322
|
+
* 处理代理对象的 set 操作
|
|
323
|
+
* @description 统一处理代理对象属性设置的复杂逻辑
|
|
324
|
+
* @param target - 目标对象
|
|
325
|
+
* @param key - 属性键
|
|
326
|
+
* @param value - 属性值
|
|
327
|
+
* @param rawWindow - 原始 window 对象
|
|
328
|
+
* @returns boolean - 设置是否成功
|
|
329
|
+
* @private
|
|
330
|
+
*/
|
|
331
|
+
private handleProxySet;
|
|
332
|
+
/**
|
|
333
|
+
* 判断是否应该使用 iframe 的 location
|
|
334
|
+
* @description 检查是否在 iframe 模式下访问 location 相关属性
|
|
335
|
+
* @param key - 属性键
|
|
336
|
+
* @returns boolean - 是否使用 iframe location
|
|
337
|
+
* @private
|
|
338
|
+
*/
|
|
339
|
+
private shouldUseIframeLocation;
|
|
340
|
+
/**
|
|
341
|
+
* 创建 getComputedStyle 方法的代理
|
|
342
|
+
* @description 为 getComputedStyle 方法创建安全的代理实现
|
|
343
|
+
* @param rawWindow - 原始 window 对象
|
|
344
|
+
* @returns Function - 代理后的 getComputedStyle 方法
|
|
345
|
+
* @private
|
|
346
|
+
*/
|
|
347
|
+
private createGetComputedStyleProxy;
|
|
348
|
+
/**
|
|
349
|
+
* 判断是否应该在目标对象上设置属性
|
|
350
|
+
* @description 检查属性设置的逻辑条件
|
|
351
|
+
* @param target - 目标对象
|
|
352
|
+
* @param key - 属性键
|
|
353
|
+
* @param rawWindow - 原始 window 对象
|
|
354
|
+
* @returns boolean - 是否在目标对象上设置
|
|
355
|
+
* @private
|
|
356
|
+
*/
|
|
357
|
+
private shouldSetOnTarget;
|
|
358
|
+
/**
|
|
359
|
+
* 在目标对象上设置属性
|
|
360
|
+
* @description 安全地在目标对象上设置属性,保持描述符特性
|
|
361
|
+
* @param target - 目标对象
|
|
362
|
+
* @param key - 属性键
|
|
363
|
+
* @param value - 属性值
|
|
364
|
+
* @param rawWindow - 原始 window 对象
|
|
365
|
+
* @private
|
|
366
|
+
*/
|
|
367
|
+
private setPropertyOnTarget;
|
|
368
|
+
/**
|
|
369
|
+
* 处理白名单属性
|
|
370
|
+
* @description 处理需要在原始 window 上设置的白名单属性
|
|
371
|
+
* @param key - 属性键
|
|
372
|
+
* @param value - 属性值
|
|
373
|
+
* @param rawWindow - 原始 window 对象
|
|
374
|
+
* @private
|
|
375
|
+
*/
|
|
376
|
+
private handleWhiteListProperty;
|
|
210
377
|
/**
|
|
211
378
|
* 激活沙箱
|
|
212
|
-
* @
|
|
379
|
+
* @description 启动沙箱环境,初始化代理对象和事件处理
|
|
380
|
+
* @param data - 传递给沙箱的数据(可选)
|
|
381
|
+
* @returns void
|
|
213
382
|
*/
|
|
214
383
|
activated(data?: Record<string, unknown>): void;
|
|
215
384
|
/**
|
|
216
|
-
*
|
|
385
|
+
* 停用沙箱
|
|
386
|
+
* @description 关闭沙箱环境,清理所有副作用和修改
|
|
387
|
+
* @returns void
|
|
217
388
|
*/
|
|
218
389
|
deactivated(): void;
|
|
219
390
|
}
|
|
@@ -611,45 +782,71 @@ declare global {
|
|
|
611
782
|
}
|
|
612
783
|
interface Node {
|
|
613
784
|
__BK_WEWEB_APP_KEY__?: string;
|
|
614
|
-
__KEEP_ALIVE__?:
|
|
785
|
+
__KEEP_ALIVE__?: boolean;
|
|
615
786
|
data?: unknown;
|
|
616
787
|
}
|
|
617
788
|
}
|
|
618
789
|
|
|
619
790
|
/**
|
|
620
|
-
*
|
|
791
|
+
* 资源加载相关类型定义
|
|
792
|
+
* @description 定义了样式、脚本等资源的配置选项和相关类型
|
|
793
|
+
*/
|
|
794
|
+
/**
|
|
795
|
+
* 样式资源配置选项接口
|
|
796
|
+
* @description 定义样式文件的加载配置和属性信息
|
|
621
797
|
*/
|
|
622
798
|
interface IStyleOption {
|
|
799
|
+
/** 样式代码内容 */
|
|
623
800
|
code: string;
|
|
801
|
+
/** 是否来自 HTML 页面内联样式 */
|
|
624
802
|
fromHtml: boolean;
|
|
803
|
+
/** 是否为初始样式(可选) */
|
|
625
804
|
initial?: boolean;
|
|
805
|
+
/** 是否预取样式资源(可选) */
|
|
626
806
|
prefetch?: boolean;
|
|
807
|
+
/** 是否预加载样式资源(可选) */
|
|
627
808
|
preload?: boolean;
|
|
809
|
+
/** 样式文件的 URL 地址(可选) */
|
|
628
810
|
url?: string;
|
|
629
811
|
}
|
|
812
|
+
/**
|
|
813
|
+
* 脚本资源配置选项接口
|
|
814
|
+
* @description 定义脚本文件的加载配置和属性信息
|
|
815
|
+
*/
|
|
630
816
|
interface IScriptOption {
|
|
817
|
+
/** 是否为异步加载脚本 */
|
|
631
818
|
async: boolean;
|
|
819
|
+
/** 脚本代码内容 */
|
|
632
820
|
code: string;
|
|
821
|
+
/** 是否为延迟执行脚本 */
|
|
633
822
|
defer: boolean;
|
|
823
|
+
/** 是否从 HTML 页面中提取的脚本 */
|
|
634
824
|
fromHtml: boolean;
|
|
825
|
+
/** 是否为初始脚本(可选) */
|
|
635
826
|
initial?: boolean;
|
|
827
|
+
/** 是否为 ES6 模块类型脚本 */
|
|
636
828
|
isModule: boolean;
|
|
829
|
+
/** 脚本文件的 URL 地址(可选) */
|
|
637
830
|
url?: string;
|
|
638
831
|
}
|
|
639
832
|
|
|
640
833
|
/**
|
|
641
|
-
*
|
|
834
|
+
* 沙箱环境配置类型定义
|
|
835
|
+
*/
|
|
836
|
+
/**
|
|
837
|
+
* 注入到子应用 window 对象的属性接口
|
|
838
|
+
* @description 定义了 BK WEWEB 平台注入到子应用环境中的必要属性
|
|
642
839
|
*/
|
|
643
840
|
interface IInjectWindowAttrs {
|
|
644
|
-
/** BK WEWEB
|
|
841
|
+
/** BK WEWEB平台的应用唯一标识 */
|
|
645
842
|
__BK_WEWEB_APP_KEY__: string;
|
|
646
|
-
/** BK WEWEB
|
|
843
|
+
/** BK WEWEB的附加数据,可包含配置信息、用户数据等 */
|
|
647
844
|
__BK_WEWEB_DATA__: Record<string, unknown>;
|
|
648
|
-
/** 标识页面是否由BK WEWEB
|
|
845
|
+
/** 标识页面是否由BK WEWEB驱动的布尔值 */
|
|
649
846
|
__POWERED_BY_BK_WEWEB__: boolean;
|
|
650
|
-
/** 原始 document
|
|
847
|
+
/** 原始 document 对象的引用 */
|
|
651
848
|
rawDocument: Document;
|
|
652
|
-
/** 原始 window
|
|
849
|
+
/** 原始 window 对象的引用 */
|
|
653
850
|
rawWindow: Window;
|
|
654
851
|
}
|
|
655
852
|
|
|
@@ -660,8 +857,23 @@ interface IStartOption {
|
|
|
660
857
|
webComponentTag?: string;
|
|
661
858
|
}
|
|
662
859
|
|
|
860
|
+
/**
|
|
861
|
+
* 激活指定应用
|
|
862
|
+
* @description 激活已失活的应用或挂载新应用,支持 keep-alive 模式的应用状态恢复
|
|
863
|
+
* @template T - 导出实例的类型
|
|
864
|
+
* @param appKey - 应用的唯一标识符
|
|
865
|
+
* @param container - 挂载容器,HTMLElement 或 ShadowRoot
|
|
866
|
+
* @param callback - 激活完成后的回调函数(可选)
|
|
867
|
+
* @returns void
|
|
868
|
+
*/
|
|
663
869
|
declare function activated<T>(appKey: string, container: HTMLElement | ShadowRoot, callback?: <M extends BaseModel>(instance: M, exportInstance?: T) => void): void;
|
|
664
870
|
|
|
871
|
+
/**
|
|
872
|
+
* 失活指定应用
|
|
873
|
+
* @description 将指定应用设置为失活状态,根据 keep-alive 配置决定是失活还是卸载
|
|
874
|
+
* @param appKey - 应用的唯一标识符
|
|
875
|
+
* @returns void
|
|
876
|
+
*/
|
|
665
877
|
declare function deactivated(appKey: string): void;
|
|
666
878
|
|
|
667
879
|
type ContainerType = HTMLElement | ShadowRoot;
|
|
@@ -763,29 +975,101 @@ declare class MicroInstanceModel implements BaseModel {
|
|
|
763
975
|
private needsReload;
|
|
764
976
|
}
|
|
765
977
|
|
|
978
|
+
/**
|
|
979
|
+
* 根据配置模式加载相应的应用或模块实例
|
|
980
|
+
* @description 统一的加载入口,根据模式参数决定加载应用还是模块实例
|
|
981
|
+
* @param props - 基础模型配置参数
|
|
982
|
+
* @returns Promise<BaseModel> - 返回加载的模型实例
|
|
983
|
+
*/
|
|
766
984
|
declare function load(props: IBaseModelProps): Promise<BaseModel>;
|
|
985
|
+
/**
|
|
986
|
+
* 加载微应用
|
|
987
|
+
* @description 加载或获取已存在的微应用实例,并启动应用
|
|
988
|
+
* @param props - 应用模型配置参数
|
|
989
|
+
* @returns Promise<MicroAppModel> - 返回微应用模型实例
|
|
990
|
+
*/
|
|
767
991
|
declare function loadApp(props: IAppModelProps): Promise<MicroAppModel>;
|
|
992
|
+
/**
|
|
993
|
+
* 加载模块实例
|
|
994
|
+
* @description 加载或获取已存在的模块实例,支持状态监听和异步等待
|
|
995
|
+
* @param props - 模块实例配置参数
|
|
996
|
+
* @returns Promise<MicroInstanceModel> - 返回模块实例模型
|
|
997
|
+
*/
|
|
768
998
|
declare function loadInstance(props: IJsModelProps): Promise<MicroInstanceModel>;
|
|
769
999
|
|
|
1000
|
+
/**
|
|
1001
|
+
* 挂载应用到指定容器
|
|
1002
|
+
* @description 将已加载的应用挂载到指定的 DOM 容器或 ShadowRoot 中
|
|
1003
|
+
* @template T - 导出实例的类型
|
|
1004
|
+
* @param appKey - 应用的唯一标识符
|
|
1005
|
+
* @param container - 挂载容器,可以是 HTMLElement 或 ShadowRoot(可选)
|
|
1006
|
+
* @param callback - 挂载完成后的回调函数(可选)
|
|
1007
|
+
* @returns void
|
|
1008
|
+
*/
|
|
770
1009
|
declare function mount<T>(appKey: string, container?: HTMLElement | ShadowRoot, callback?: <M extends BaseModel>(instance: M, exportInstance?: T) => void): void;
|
|
771
1010
|
|
|
1011
|
+
/**
|
|
1012
|
+
* 卸载并删除指定应用
|
|
1013
|
+
* @description 从缓存中完全删除指定的应用实例,释放相关资源
|
|
1014
|
+
* @param url - 应用的 URL 标识符,用于定位要删除的应用
|
|
1015
|
+
* @returns void
|
|
1016
|
+
*/
|
|
772
1017
|
declare function unload(url: string): void;
|
|
773
1018
|
|
|
1019
|
+
/**
|
|
1020
|
+
* 卸载指定应用
|
|
1021
|
+
* @description 卸载指定的应用实例,并在没有活跃应用时重置全局方法
|
|
1022
|
+
* @param appKey - 应用的唯一标识符
|
|
1023
|
+
* @returns void
|
|
1024
|
+
*/
|
|
774
1025
|
declare function unmount(appKey: string): void;
|
|
775
1026
|
|
|
776
1027
|
/**
|
|
777
|
-
*
|
|
778
|
-
* @description
|
|
1028
|
+
* 预加载模块实例
|
|
1029
|
+
* @description 在浏览器空闲时预加载指定的模块实例,提前准备资源以提升后续加载性能
|
|
1030
|
+
* @param options - 模块加载配置参数
|
|
1031
|
+
* @param options.isPreLoad - 将被自动设置为 true,标识这是预加载操作
|
|
1032
|
+
* @returns void
|
|
1033
|
+
* @example
|
|
1034
|
+
* ```typescript
|
|
1035
|
+
* preLoadInstance({
|
|
1036
|
+
* name: 'my-module',
|
|
1037
|
+
* url: 'https://example.com/module.js'
|
|
1038
|
+
* });
|
|
1039
|
+
* ```
|
|
779
1040
|
*/
|
|
780
1041
|
declare function preLoadInstance(options: IJsModelProps): void;
|
|
781
1042
|
/**
|
|
782
|
-
*
|
|
783
|
-
* @description
|
|
1043
|
+
* 预加载微应用
|
|
1044
|
+
* @description 在浏览器空闲时预加载指定的微应用,提前准备应用资源以提升后续加载性能
|
|
1045
|
+
* @param options - 应用加载配置参数
|
|
1046
|
+
* @param options.isPreLoad - 将被自动设置为 true,标识这是预加载操作
|
|
1047
|
+
* @returns void
|
|
1048
|
+
* @example
|
|
1049
|
+
* ```typescript
|
|
1050
|
+
* preLoadApp({
|
|
1051
|
+
* name: 'my-app',
|
|
1052
|
+
* entry: 'https://example.com/app/'
|
|
1053
|
+
* });
|
|
1054
|
+
* ```
|
|
784
1055
|
*/
|
|
785
1056
|
declare function preLoadApp(options: IAppModelProps): void;
|
|
786
1057
|
/**
|
|
787
|
-
*
|
|
788
|
-
* @description
|
|
1058
|
+
* 预加载全局资源
|
|
1059
|
+
* @description 在浏览器空闲时预加载指定的全局资源列表,包括样式文件、脚本文件等
|
|
1060
|
+
* @param sourceList - 要预加载的资源列表,可以是单个资源或资源数组
|
|
1061
|
+
* @returns void
|
|
1062
|
+
* @example
|
|
1063
|
+
* ```typescript
|
|
1064
|
+
* // 预加载单个资源
|
|
1065
|
+
* preLoadSource('https://example.com/style.css');
|
|
1066
|
+
*
|
|
1067
|
+
* // 预加载多个资源
|
|
1068
|
+
* preLoadSource([
|
|
1069
|
+
* 'https://example.com/style.css',
|
|
1070
|
+
* 'https://example.com/script.js'
|
|
1071
|
+
* ]);
|
|
1072
|
+
* ```
|
|
789
1073
|
*/
|
|
790
1074
|
declare function preLoadSource(sourceList: SourceType): void;
|
|
791
1075
|
|