antd pro

438 阅读1分钟

ant design pro v5

H2的大小

SEO 优化

src/pages/document.ejs 文件中修改一些内容

<meta name="keywords" content="项目关键词" />
<meta name="description" content="项目介绍" />
<title>网页标题</title>
<noscript>给予不支持的浏览器的提示信息</noscript>

routes.ts 中配置路由菜单

如果不写 name 属性,会导致菜单在页面上不显示

{
    path: '/home',
    name: 'home', // 它
    icon: 'home',
    component: './Home'
}

access.ts中设置权限

表达式为 undefined 时,会不起效果,表达式时只能接收 truefalse,函数随意

return {
    all: undefined, // 无效
    onlyAdmin: () => undefined // 有效
}

app.ts 中,改变了根节点,比如设置了 rootContainer 就会导致 access 无效

// app.ts

export function rootContainer(container: React.ReactNode) {
    return <div>{container}</div>
}

监听路由

可以在 access.ts 中操作

// access.ts

import { history } from 'umi'

history.block((location, action) => {
    // 监听返回
})

history.listen(() => {
    // 监听所有
})

正则

除了某个单词

比如字符串helloword123,想去除hello得到word123

/[^hello]/g 表示非h非e非l非o,并不能理解为非(hello),所以匹配结果是 wrd123

这时我们需要用到正则表达式的断言——(?!pattern) 零宽负向先行断言 或者 (?<!pattern) 零宽负向后行断言 均可。

这样 /^((?!(^hello$)).)+$/ 就行了

匹配单词 xyz 以外的字符串:^((?!^xyz$).)+$

匹配单词 xyzabc 以外的字符串:^((?!^xyz$|^abc$).)+$

匹配单词 xyzabc 以外的字符串或空字符串:^((?!^xyz$|^abc$).)+$|^$