- @umijs/plugin-access
启用方式
有 src/access.ts
时启用
我们约定了 src/access.ts
为我们的权限定义文件,该文件需要默认导出一个方法,导出的方法会在 项目初始化时被执行。该方法需要返回一个对象,对象的每一个值就对应定义了一条权限
access
对应的权限名称。
useAccess
我们提供了一个 Hooks 用于在组件中获取权限相关信息
Access
可以在业务组件中使用插件提供的 React hook useAccess
以及组件 <Access />
对应用进行权限
控制了。 组件 Access
支持的属性如下:
- accessible
是否有权限,通常通过 useAccess
获取后传入进来。
fallback
无权限时的显示,默认无权限不显示任何内容。
children
有权限时的显示。
- @umijs/plugin-analytics
启用方式
ga (Google 统计代码)
- @umijs/plugin-antd
启用方式
- 内置 antd,目前内置版本是
^4.0.0
- 内置 antd-mobile,目前内置版本是
^2.3.1
- 基于 babel-plugin-import 做按需编译
- 使用 antd@4 时,可一键切换为暗色主题,见下图
dark
开启暗色主题。
compact
开启紧凑主题。
cofig
使用 antd 的全局化配置。
- @umijs/plugin-crossorigin
启用方式
为所有非三方脚本加上 crossorigin="anonymous"
属性,通常用于统计脚本错误
- @umijs/plugin-dva
启用方式
整合 dva 数据流。
- 内置 dva,默认版本是
^2.6.0-beta.20
,如果项目中有依赖,会优先使用项目中依赖的版本。 - 约定是到 model 组织方式,不用手动注册 model
- 文件名即 namespace,model 内如果没有声明 namespace,会以文件名作为 namespace
- 内置 dva-loading,直接 connect
loading
字段使用即可 - 支持 immer,通过配置
immer
开启
约定式的 model 组织方式
符合以下规则的文件会被认为是 model 文件,
src/models
下的文件src/pages
下,子目录中 models 目录下的文件src/pages
下,所有 model.ts 文件
dva model 校验
上一小节的找到的文件,会做一次校验,校验通过后,才会被添加到最终到 dva model 列表。 skipModelValidate
是否跳过 model 验证
extraModels
配置额外到 dva model。
immer
表示是否启用 immer 以方便修改 reducer。
注:如需兼容 IE11,需配置 { immer: { enableES5: true }}
。
hmr
表示是否启用 dva model 的热更新。
dva 运行时配置
通过 src/app.tsx
文件配置 dva 创建时的参数。
umi 接口
常用方法可从 umi 直接 import。
connect
绑定数据到组件。
getDvaApp
获取 dva 实例,即之前的 window.g_app
。
useDispatch
hooks 的方式获取 dispatch,dva 为 2.6.x 时有效。
useSelector
hooks 的方式获取部分数据,dva 为 2.6.x 时有效。
useStore
hooks 的方式获取 store,dva 为 2.6.x 时有效。
umi dva list model
查看项目中包含了哪些 model。