• @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

    启用方式

    1. 内置 antd,目前内置版本是 ^4.0.0
    2. 内置 antd-mobile,目前内置版本是 ^2.3.1
    3. 基于 babel-plugin-import 做按需编译
    4. 使用 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。