资源实例, 负责模块资源的加载以及样式的启用/禁用

Param: 资源地址

Hierarchy (view full)

Constructors

Properties

afterApplyScript: Promise<HTMLScriptElement[]>

应用脚本后的 Promise。

afterInit?: Promise<void>

初始化后的 Promise。

appendedAsyncStyleElements?: NodeListOf<Element>
appliedScript: boolean = false
initScriptElement?: HTMLScriptElement
initTimeout: number

初始化超时时间,单位毫秒。

metadata?: ResourceMetadata

资源元数据。

rejectScript: ((error) => void)

Type declaration

    • (error): void
    • Parameters

      • error: Error

      Returns void

resolveScript: ((elements) => void)

Type declaration

    • (elements): void
    • Parameters

      • elements: HTMLScriptElement[]

      Returns void

resolvedUrlMap: Record<string, string> = {}
scriptElements: HTMLScriptElement[] = []
scriptLoading?: Promise<HTMLScriptElement[]>
server: string
status: ResourceStatus = ResourceStatus.Init

资源状态,默认为初始化状态。

资源加载策略,默认使用标签方式加载。

styleElements: (HTMLLinkElement | HTMLStyleElement)[] = []
styleLoading?: Promise<(HTMLLinkElement | HTMLStyleElement)[]>
styleMounted: boolean = false

标记样式是否已经挂载。

type: string

入口资源类型。

url: string = ''

资源实例索引, 也是资源的元数据的 URL 地址。

urlAdapter?: ((sourceUrl, resource) => string)

URL 适配器函数,可以根据资源和源 URL 自定义最终的 URL 地址。

Type declaration

    • (sourceUrl, resource): string
    • URL 适配器函数,可以根据资源和源 URL 自定义最终的 URL 地址。

      Parameters

      Returns string

asyncFilesMap: {
    [key: string]: Resource | undefined;
} = {}

Type declaration

initTimeout: number = 10000

初始化超时的静态默认值,单位毫秒。

Methods

  • 加载模块的脚本资源

    Parameters

    Returns Promise<HTMLScriptElement[]>

  • 加载/启用模块的样式资源

    Parameters

    Returns Promise<(HTMLLinkElement | HTMLStyleElement)[]>

  • 加载资源清单数据, 默认(forceInit = false)不重复执行

    Parameters

    • forceInit: boolean = false

    Returns Promise<void>

  • 判断制定 url 是否为 esm 模块

    Parameters

    • url: string

    Returns boolean

  • 预加载资源

    Parameters

    Returns void

  • 重置样式状态

    Returns void

  • 加载资源时转换资源地址

    Parameters

    • url: string

    Returns string

  • 设置Resource实例的状态, 同时触发Resource实例关联的所有JModule实例的状态改变

    Parameters

    Returns void

    Fires

    window#resource.[moduleKey].statusChange

  • 禁用/启用样式

    Parameters

    • status: "enabled" | "disabled"

    Returns void

  • 扩展入口资源类型

    Parameters

    • type: string
    • typeHandler: ((resource, defaultUrl) => Promise<string>)
        • (resource, defaultUrl): Promise<string>
        • Parameters

          Returns Promise<string>

    Returns void

  • 异步执行指定 hook

    Parameters

    • hookName: string
    • Rest ...inputArgs: any[]

    Returns Promise<any[]>

  • 同步执行指定 hook

    Parameters

    • hookName: string
    • Rest ...inputArgs: any[]

    Returns any[]

Generated using TypeDoc