https://bolt.new/
这是一个bolt.new生成的Vue小项目,让我们来一步一步了解其架构,学习Vue开发,并美化它。
框架:
Vue 3: 用于构建用户界面。
TypeScript: 提供类型安全和更好的开发体验。
Vite: 用于快速构建和开发
主界面如下:
项目架构如下:
项目结构
- 前端框架:
Vue 3: 用于构建用户界面。
TypeScript: 提供类型安全和更好的开发体验。
Vite: 用于快速构建和开发。 - 状态管理:
Pinia: 用于管理应用的状态,特别是用户认证状态。
路由管理:
Vue Router: 用于管理应用的路由,控制页面导航。
UI 组件库:
Element Plus: 用于构建美观的用户界面组件。 - 主要页面:
Login.vue: 登录和注册页面。
Layout.vue: 应用的主布局,包含侧边栏和头部。
Books.vue: 图书管理页面。
Borrowing.vue: 借阅管理页面。
Readers.vue: 读者管理页面。 - 状态存储:
auth.ts: 处理用户认证的状态和方法(登录、注册、登出)。
首先分析main.ts:
接下来,我们分析App.vue:
接下来,我们分析登录界面Login.vue:
其中,在 src/views/Login.vue 文件中,router.push('/')
的作用是将用户重定向到应用的主页(根路径)。
接下来,我们分析路由逻辑index.ts:
当用户访问 / 路径时,Layout.vue 组件会被渲染。
使用路由守卫确保用户在访问需要认证的页面时,必须先登录。
如果用户未登录,自动重定向到登录页面,并在登录后可以返回到原来的页面。
由于登录后会跳转到Books.vue界面,我们按照逻辑继续分析Books.vue:
books: 一个响应式数组,存储图书列表的初始数据。使用 ref 创建,使得 Vue 能够追踪其变化并自动更新视图。
借阅管理和读者管理的逻辑基本一致,此处我们不再分析。
接下来分析Layout.vue:
后面的CSS样式我们不再分析。
最后我们分析auti.ts:
这个项目没有后端和数据库,所以这里使用的是一个模拟数据库。
接下来美化页面,首先美化登录界面。
简单美化一下,去掉了左右的空白,撑满了整个页面。