# 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
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
2
3
4
5
6
7
8
9
10
# wpmjs.get
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
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
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 | '' | 域名 |
← 贡献包 API-webpack →