# API-SDK

# wpmjs.setConfig

  • # 参数

    wpmjs.setConfig(options)

    • options
    参数 类型 默认值 作用 使用场景
    dev boolean false 是否是开发模式 目前一般由插件自动开启, 用于开发模式热更新
    env string "online" latest对应的版本 online为线上稳定版本;qa为测试中版本
    map object {react: "vue@0.1?a=1"} 包名映射配置, 对依赖也能生效 例如引入了@wemo-ui/klein, 可以用map设置@wemo-ui/klein依赖的react版本
  • # 示例

import wpmjs from 'wpmjs';

wpmjs.setConfig({
  env: 'online' // 对引入包的环境配置,支持qa和online, 默认online
});

1
2
3
4
5
6

# wpmjs.import

  • # 参数

    wpmjs.import(@[scope]/[name]@[version]/[entry]?[query]) 例:
    • import "react"
    • import "antd@latest/button"
    • import "@wemo-ui/klein@0.0.2/button?a=2"
配置项 必填 类型 默认值 作用
scope string 包名
name string 包名
version string "@latest" 版本号
entry string 多入口包, 指定入口
query string query
  • # 返回值

    Proxy<Promise>

    • wpmjs.import返回一个被代理的对象,这个对象可以预先用.或解构获取任意属性。
    • 如果属性存在, 返回Promise<prop>
    • 如果属性不存在, 返回Promise<undefined>
  • # 示例

import wpmjs from 'wpmjs';
const { default: React, useState } = wpmjs.import('react@latest');
useState // Proxy<Promise>
await useState // function

React.useState // Proxy<Promise>
await React.useState // function

React.a.b.c.s.d.f.g // Proxy<Promise>
await React.a.b.c.s.d.f.g // undefined
1
2
3
4
5
6
7
8
9
10

# wpmjs.get

  • # 说明

    • wpmjs.get获取包的同步值,但是需要确保已经加载完成。
    • 未加载完成返回undefined
  • # 示例

import wpmjs from 'wpmjs';
;(async function () {
  await wpmjs.import('react@latest');
  const { default: React, useState } = wpmjs.get('react@latest')
  useState // function
})()
1
2
3
4
5
6

# wpmjs.on("resolve")

包解析拦截器, 下面的例子会将请求[ import "wpmjs/$/antd?a=1" ]改为[ import "wpmjs/$/ele?a=1" ]

  • # 参数

wpmjs.on("resolve", ({name, version, query, entry, basePath}) => {
  // name: "antd"
  // version: "latest"
  // query: "?a=1"
  // entry: "/button"
  // basePath: "https://wpm.hsmob.com/wpmv2/"

  if (name === "antd") {
    return {
      name: "ele"
    }
  }
})
1
2
3
4
5
6
7
8
9
10
11
12
13
  • options
参数 类型 默认值 作用 使用场景
name string '' 包名
version string "latest" 版本号
query string '' query string
entry string '' 入口
basePath string '' 域名