这是学习Vue基础语法后的第一个实践的项目,由于对于css,element-plus,dayjs的组件的生疏,或多或少地直接抄了不少代码
但是这不能妨碍自己学了不少的知识,尤其在于Vue3中关于pinia模块,vue-router,组件的知识不再只是存留在课本上,而是体现
在实际的代码中。
首先值得记录的是项目的目录规划
-src
--/assets 用于存放图片等
--/components 用于存放页面共有的组件 CusEditor.vue和CusHeader.vue公共组件用Cus开头的首字母大写的命名法,尽管我对于
---CusEditor.vue 把CusEditor单独的编辑器作为一个公共组件表示怀疑
---CusHead.vue
--/router 用于使用路由的文件夹,在index.ts中要创建路由器router,还有作为验证的前置守卫
---index.ts
--/stores 用于pinia创建的store,作为所有组件用来传递数据的中转站,分为两个数据仓库,分别是主页和用户的,在每个文件夹中,types是接口类型,用来限制数据的类型,然后导入到各自的index.ts中去定义store,值得一提的是,除了数据的存在,还有对这些数据操纵的方法,就像C++中的类一样,在这里getter作为计算属性也有奇特的妙用。在/store/index.ts这个文件,是把所有已经创建好的仓库导出的文件,为了同一处理而不是逐个导出,这里的也有ES6导出中之前从未涉及到的细节。
---/index
----index.ts
----type.ts
---/user
----index.ts
----type.ts
---index.ts
--/style 这次项目的实践主要是对Vue等的掌握,至少项目让我知道了css还有其他形式可以使用,比如这里的.less文件
---base.less
---main.less
--/utils
---index.ts 工具函数,之前我曾对把普遍函数放到一起的做法觉得太过麻烦,现在看来,书中的经验绝对是之前程序员踏足过泥潭后的宝贵财富,这里面有所有的共性的工具,这里面比较令人在意的是ImitateHttp这样的模拟函数和防止文本框多次触发的防抖函数
--/views 页面的文件夹,这里也有具体的划分,作为首页组件的index文件夹和index的两个小的组件,作为登录和注册页面的情况,登录和注册在同一个文件的方式,让我还是第一次见,之前手搓网页的时候,我愚蠢地设置了两个界面。Home.vue是真正的首页,因为它包括index和标题.(刚刚写笔记的时候一时间找不到Home.vue是怎么挂载的,后面发现是根路由渲染的,而且由于有子路由,子路由挂载的/index
首先,根路径 / 对应的 HomeView 组件会被渲染。然后,子路由 /index 对应的 index.vue 组件会被渲染在 HomeView 组件的
---/index
----catalogs.vue
----index.vue
----menos.vue
---Home.vue
---Login.vue
--App.vue 根组件,这里要设置根路由标签等
--main.ts 全局加载npm模块和挂载根组件还有router等中间件
具体的之后的总结,我会分模块和内容总结,我在学习的过程中自己也记了查找的部分笔记,有需要的记住的重点我也会写进去。OVER