UNPKG

waibu-mpa

Version:

MPA support for Waibu Framework

32 lines (29 loc) 1.03 kB
async function loadResource (mod = [], item) { const { breakNsPath, readConfig } = this.app.bajo const { isString, isArray, isEmpty } = this.app.lib._ if (isEmpty(mod[item])) return [] if (!isArray(mod[item])) mod[item] = [mod[item]] const items = [] const extItems = [] for (const i in mod[item]) { if (isString(mod[item][i])) { if (mod[item][i].startsWith('/')) items.push(mod.css[i]) else { let name = mod[item][i] if (['$', '^'].includes(name[0])) name = name.slice(1) const { ns, path, subNs } = breakNsPath(name, undefined, false) if (subNs === 'load') extItems.push({ ns, path }) else items.push(mod[item][i]) } } else items.push(mod[item][i]) } for (const c of extItems) { let emod = await readConfig(`${c.ns}:${c.path}`, { ns: c.ns, ignoreError: false }) if (!isArray(emod)) emod = [emod] for (const m of emod) { items.push(m) } } return items } export default loadResource