vue-vben-admin
基于vue3,vite2,TypeScript的中后台模板快速开发项目.
最新发布版本:v2.8.0 2021/11/03
nodejs: 12/14/16
注意存放代码的目录及所有父级目录不能存在中文、韩文、日文以及空格,否则安装依赖后启动会出错。
本地开发
# 安装依赖
pnpm install
# run
pnpm serve
# build
pnpm build
# 发布预览
pnpm preview:dist
环境变量
注: 修改.env.development配置后需要重启服务。
常用设置项
- src/settings/componentSetting.ts
- src/settings/projectSetting.ts
- build/config/themeConfig.ts
错误处理
// errorMessageMode=‘modal’的时候会显示modal错误弹窗,而不是消息提示,用于一些比较重要的错误
// errorMessageMode='none' 一般是调用时明确表示不希望自动弹出错误提示
API接口调用
axios封装
- src/utils/http/axios/Axios.ts
// 目前只导出一个默认实例,接口地址对应的是环境变量中的 VITE_GLOB_API_URL 接口地址(默认为 /basic-api )
export const defHttp = createAxios();
// other api url
export const otherHttp = createAxios({
requestOptions: {
apiUrl: 'xxx',
},
});
跨域处理
控制台看到的地址为 http://localhost:3100/basic-api/login
,由于 /basic-api 匹配到了设置的 VITE_PROXY,所以上方实际是请求 http://localhost:3000/login
,这样同时也解决了跨域问题。
3100为项目端口号.
没有跨域时的配置
如果没有跨域问题,可以直接忽略 VITE_PROXY 配置,直接将接口地址设置在 VITE_GLOB_API_URL
# 例如接口地址为 http://localhost:3000 则
VITE_GLOB_API_URL=http://localhost:3000
分页显示
src/settings/componentSetting.ts
fetchSetting: {
pageField: 'page',
sizeField: 'pageSize',
listField: 'results',
totalField: 'count',
},
调试
控制台输出
createMessage.success('click search,values:' + JSON.stringify(values));
界面定制
菜单和路由
- src/router/routes/modules/demo.ts 菜单定义
- src/locales/lang/zh-CN/routes/demo.ts 中文名
- src/views/demo/index.vue 定义页面视图
登录界面左侧标题
src/locales/lang/zh-CN/sys.ts
signInTitle: 'New Title'