项目简介
这是一个基于 mobx
、react
、react router
、umi
以及 TypeScript
构建的 React 前端项目。选用 antd
和 teaness
作为组件库,致力于打造功能丰富、结构清晰且易于维护的前端应用。
项目的主要特性和功能
- 先进技术栈:运用
mobx
进行状态管理,react router
处理路由,umi
作为开发框架,TypeScript
增强类型检查,提高开发效率与代码质量。 - 丰富组件库:集成
antd
和teaness
组件库,提供多样 UI 组件,满足不同业务需求。 - 菜单动态加载:通过特殊的 url 标识与菜单结合,实现组件动态加载,增强应用灵活性。
- 环境变量配置:可通过环境变量配置
google analytics
、AES 秘钥
、sentry DNS
等,便于不同环境定制。
安装使用步骤
安装依赖
在项目根目录下执行 npm i
安装项目所需依赖。
运行项目
执行 npm run start
启动项目。
提交代码
遵循 https://www.conventionalcommits.org/ 规范,也可使用 npm run commit
快速格式化提交。
构建与发布
- 执行
npm run release
生成 tag。 - 执行
npm run build
进行项目构建。 - 若有
sentry
启用需求,需在项目下添加.sentryclirc
文件,格式如下: ```toml [defaults] url = sentry地址 project = sentry项目名 org = sentry
[auth] token = 授权token ```
环境变量配置
构建环境变量
UA
:google analytics,默认无(不开启 google analytics)。AES
:AES 秘钥,默认 test。DSN
:sentry DNS,默认无(不开启 sentry)。
其他环境变量
可创建 .env.local
文件覆盖 umi 环境变量,具体参考 umi 环境变量。
开发环境配置
在 vscode settings 中可配置如下内容:
javascript
{
"prettier.eslintIntegration": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
{ "language": "javascript", "autoFix": true },
{ "language": "javascriptreact", "autoFix": true },
{ "language": "typescript", "autoFix": true },
{ "language": "typescriptreact", "autoFix": true }
]
}
组件用例
组件库地址: - 外网,需翻墙加速 teaness.org - 内网,隐身模式访问 teaness.org
菜单动态加载组件
通过特殊的 url 标识与菜单结合,url 设计:component:{block组件}({注入的组件props})path={url路径}
。
例如:component:AutoGenPage({"type": "cnt"})path=cnt
常见问题解答(FAQ)
默认是开启 mock 的,若需要关闭,请创建 .env.local
文件,并添加 mock=none
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】