前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >乌米 UMI

乌米 UMI

作者头像
P轴
发布2022-11-18 17:08:37
9690
发布2022-11-18 17:08:37
举报
文章被收录于专栏:P轴

# 简介

image
image

Umi 官网:https://umijs.org/ GitHub:https://github.com/umijs/umi

  1. 蚂蚁的,基于react
  2. 免费企业级
  3. 建议学习乌米3
  4. 请求库用axios

# 不能使用umi

  • IE8或者更低浏览器

# 使用

可能网络不好会失败yarn前一共不到4kb

代码语言:javascript
复制
yarn create @umijs/umi-app
yarn

启用项目 yarn start

出现Page Index

添加layout,会增加左侧菜单

代码语言:javascript
复制
import { defineConfig } from 'umi';

export default defineConfig({
  nodeModulesTransform: {
    type: 'none',
  },
  layout:{},
  routes: [
    { path: '/', component: '@/pages/index' },
  ],
  fastRefresh: {},
});

# 项目目录结构

# mock

数据模拟调试

# src

.less文件,可以编程的css 约定式路由 根据目录结构生成路由

# 配置文件

.umirc.ts配置文件拆解 拆解后删除.umirc.ts文件,优先级更高

代码语言:javascript
复制
// config/config.ts

import { defineConfig } from 'umi';
import routes from './routes';

export default defineConfig({
  routes: routes,
  nodeModulesTransform: {
    type: 'none',
  },
  layout:{},
  mfsu: {},
  fastRefresh: {},
});

# 路由配置

配置了name属性的路由,会自动在菜单里面显示

headerRender: false, // 不展示顶栏 footerRender: false, // 不展示页脚 menuRender: false, // 不展示菜单 menuHeaderRender: false, // 不展示菜单顶栏 `` ts // config/routes.ts

export default [ { // exact: true, path: '/', component: 'login/login.tsx', // name: '登录', menuRender: false, headerRender: false, // 不展示顶栏 footerRender: false, }, { // exact: true, path: '/sys', component: 'sys', name: '系统管理', access: "canSys", routes: [ {path: "/sys/user", component: "sys/user", name: '用户管理',access: "canSysUser"}, {path: "/sys/role", component: "sys/role", name: '角色管理',access: "canSysRole"} ] }, ];

代码语言:javascript
复制
``` ts

// config/routes.ts

export default [
    { exact: true, path: '/', component: 'index' },
];

MFSU有时候到99%%,正常

# 配置主题颜色

如果没生效:

  1. 强制刷新,Ctrl+F5
  2. 删除.umi 重新运行项目
  3. 清理火狐浏览器缓存文件
代码语言:javascript
复制
// config/config.ts

import { defineConfig } from 'umi';
import routes from './routes';

export default defineConfig({
  routes: routes,
  theme: {
    'primary-color': '#000000',
    'layout-body-background': '#1DA500'
  },
  nodeModulesTransform: {
    type: 'none',
  },
  layout: {},
  mfsu: {},
  fastRefresh: {},
  
});

# mock

Mock.js 前后端分离使用,个人感觉没有apifox好用 http://mockjs.com/0.1/ 安装 npm install mockjs

# 插件

# @umijs/plugin-initial-state

全局共享的,例如登录人信息 优势:不需要手动刷新render

代码语言:javascript
复制
// 运行时配置
// src/app.ts
export async function getInitialState(): Promise<API.ISystemInfo> {
    //应该用ajax从服务器获取公共的信息
    return Promise.resolve({systemName: "设计师工作台"});
}

# @umijs/plugin-initial-model

# 权限控制

https://pro.ant.design/zh-CN/docs/authority-management

代码语言:javascript
复制
//权限文件
// src/access.ts
export default function (initialState: any) {
    return {
        canSys: true,
        canSysUser: true,
        canSysRole: false,
    };
}

没有权限的页面,直接在菜单里面消失

直接访问没权限的url会报404页面

image
image

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=38dpnhkh4o8wo

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 简介
    • # 不能使用umi
    • # 使用
    • # 项目目录结构
      • # mock
        • # src
          • # 配置文件
          • # 路由配置
          • # 配置主题颜色
          • # mock
          • # 插件
            • # @umijs/plugin-initial-state
              • # @umijs/plugin-initial-model
              • # 权限控制
              相关产品与服务
              云开发 CloudBase
              云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档