后台管理系统vue3TsElement-plusVite
写在前面
截止目前,工作中对于需要处理的项目需求已经基本完成,在没有新的需求产生之前,项目基本的模型基本固定,所以有时间进行项目的思考与新技术的学习,在实际的开发的项目中会技术知识点的熟练度问题导致经常需要参考网上的相关例子,但是根据教程解决完业务问题后,因为整理不及时,在遇到相同问题的时候就会花费更多的精力和时间,也不利于沉淀。正好,博客系统也能都正常上线使用,采用了比较简洁的hexo-next主题,虽然界面比较朴素,但是对于写技术博客来说,已经是非常适合不过了。当然也有其他的主题,比较好看,但是因为配置next主题也花了一些时间,同时在此阶段结合谷歌浏览器lighthouse插件,也解决了一些项目的性能优化问题,包括通过jsdelivr对图片进行CDN优化,加快访问速度等,如图,同时也提出了http/1.1 http/2等的问题,可以明显的感觉到加载速度的差异,加载速度对比,发现对于基础知识还是有许多需要学习的地方,也就是当前来说技术知识的提升比博客页面的美观更加重要一些,所以就开始先更文章了!
就叫它NS吧
在开始文章的叙述之前,总得先定一个叙述对象,它也就是前面提及的工作项目,结合项目名称,以及便于后续称呼,就叫它NS吧,这是一个后台管理系统项目,采用了当下非常流行的vue以及elementUI作为开发的基础性框架,打包工具则以gulp为主,同时包含少量的webpack配置,对于这方面的知识还是比较欠缺,当然整个项目的业务逻辑还是在摸索了几天逐渐熟悉了。
随着业务量的深入以及代码量的增多,可以很容易的发现,代码变得逐渐难以管理,同时因为初期的代码规范性问题,导致代码的可读性变差,因为缺少文档,导致在日常赶需求的时候,引入的依赖,配置项等,在维护过程中,对于一些不需要的冗余代码,不方便精简,大多采用注释的方式解决,业务中遇到的主要问题是图片的处理,包括上传和保证图片的上传顺序等,还有大文件的上传,同时是订单管理中不可缺少的导出功能,如何在前端根据列实现对表格数据的筛选,还有地图数据展示与选择过程中的循环问题,对于路由权限问题需要在新项目中搭建中熟悉动态路由表以及权限处理
初步认识
问题已经大致了解了,所以在新项目的开始过程中,也算是有了“需求”,能够有效的提升学习效率了。
官方文档
构建基础项目
跟随着vite官方教程,我们成功的运行起来了项目,同时能够感受到页面内容的快速构建和页面快速的响应式热更新带来的流畅开发体验。
基础demo运行:
项目运行起来的时间为:
下面可以看下具体的项目结构:
同时也有一些问题,对于一个元素的问题,尝试用div标签包裹template内的元素,一个bug可以解决但是另外一个还是会有问题,经过搜索发现有帖子有相同的错误,故保存下来。vue3+eslint遇到 The template root requires exactly one element.eslintvue/no-multiple-template-root ..
经过一番折腾,还是回到原来构建时候的代码状态,原来是因为插件的问题,参考评论区,具体评论为: