前言

提示

列举了一些常见的问题。有问题可以先来这里寻找,看是否有相关解答,没有的话可以上 issue 中提问或者搜索

  • 在进行开发时,先着重看下项目指南,把大体文档都过一遍,虽然文档写的可能不能满足所有人的需要,但好歹是有,毕竟项目框架上手有难度。
  • 一些非框架内的问题,可以上百度或者谷歌上搜索。
  • 实在无法解决的,可以上交流群里面提问,相互讨论,毕竟群里面的大佬还是挺多的。
  • 如果文档有落后或者不明确的,可以提 issue ,慢慢完善,毕竟文档的积累完善并不是靠一个人能完成的。

关于修改了 store 的默认值,无法应用问题

因为项目中有的 Store 默认开始了持久化,所以不管你修没修改默认值,都会优先默认取缓存中的值,所以如果修改完默认值之后,还请手动清除下浏览器的 localStorage ,默认值就会生效了。

控制台路由警告问题

本地运行之后,会出现路由警告

[Vue Router warn]: No match found for location with path "/authorization/menu"

这个无需关心,是vue-router的问题,项目打包上线后是不会有次警告,所以该问题可以忽略。

本地启动首次加载慢

请自行去百度下 vite 快是怎么个快法,本地运行启动,都是按需加载,一次性加载了几十个资源,当然会比较慢,有了缓存之后非首次就会实现秒开了。

目前项目中已经对于启动时间进行了优化,本地默认加载了全部的 element-plus 的样式文件,会多多少少减少请求资源数量。

启动快慢还是得根据当前文件引用的资源数量来决定。

路由切换页面刷新的问题

这是因为你在该路由中使用了第三方模块,这个模块是没有预加载的,所以需要重新去加载这个模块,然后就会出现 page reload,极大的影响了开发体验,所以可以在 vite.config.ts 中去配置预加载列表:optimizeDeps.include,这样在服务启动的使用,会先把这些模块给预先加载打包。

依赖安装问题

  • 如果依赖安装不了或者启动报错可以先尝试 删除 pnpm-locknode_modules,然后重新运行 pnpm i
  • 可以尝试配置国内镜像安装
  • 请确保项目路径没有特殊字符如:中文、韩文、日文以及空格
  • 请确保 node.js 版本大于等于 18
  • 请确保包管理器使用的是 pnpm

打包文件过大

由于完整版引入了许多第三方模块,所以打包体积会比较大,可以自行删除不需要的第三方模块,或者使用精简版(mini分支)来进行开发。

合理的进行拆包,目前项目中对一些比较大的第三方模块进行了拆包处理。

部署上线运行启动慢

  • 请检查打包体积是否合理
  • 请确保网络正常
  • 可以开启cdn缓存
  • 可以开启http2
  • 开启gzip

菜单定制化

菜单是根据路由配置来生成,请先看下已有的路由配置是否可以满足你的需要,如果不满足,可以自行去定制化。可以查看路由相关文档

组件使用问题

在使用组件的时候,遇到问题,可以先看下对应的在线例子,看是否有对应的代码,基本上覆盖了95%的使用方式,或者查看对应的组件文档。

编辑器代码报错

项目中大部分使用了 tsx ,所以原先 template 的一些代码规范就不适用了,如 v-if 得使用 {判断条件 ? 成立 : 不成立} 来进行显示隐藏,可以查阅下相关文档。

并且请确保如果要使用 tsx 语法, script 是否声明了 lang="tsx"

添加路由之后,页面无法展示

如果是在项目中直接添加静态路由,需要确保 appStore 中的 dynamicRouterserverDynamicRouterfalse,并且手动清除下浏览器的 localStorage

添加新的 vue 文件后,编辑器类型报错

这是 Volar 插件的问题,一般重启下编辑器即可生效。

如何启用非在线图标

设置 VITE_USE_ONLINE_ICON=false ,可能在有的版本设置之后会无效,是因为有BUG,可以复制最新版本的 uno.config.tsIcon.vue 的最新代码。