项目结构和组织
- 项目结构和组织:
在一个大型 Vue 项目中,你可能会有一个类似如下的目录结构:
src/ |- components/ |- pages/ |- router/ |- store/ |- utils/ |- App.vue |- main.js
在这个结构中,
components
文件夹用于存放公用的组件,pages
文件夹用于存放各个页面,router
文件夹用于管理路由,store
文件夹用于管理状态,等等。
- 文件和目录命名规范:
文件和目录的命名应遵循一致的风格。常见的命名方式有 kebab-case(烤肉串式) 和 CamelCase(驼峰式)。例如,你可以将组件命名为
UserProfile.vue
或user-profile.vue
。
- 代码模块化:
把大的功能代码块分解成更小的模块化的组件,比如一个大的表单,可以拆分成如下:
<template> <div> <user-input v-model="username" /> <email-input v-model="email" /> <password-input v-model="password" /> <submit-button @click="submit" /> </div> </template>
其中,每一个组件都是独立的,可以复用。
- 文件和目录的组织方式:
如前所述,文件和目录应根据功能进行划分。一般来说,你的
src
文件夹下应有表示不同功能的各种目录:例如:项目的API请求可以放在一个单独目录下面:
// services/api.js import axios from 'axios'; export const getUser = () => { return axios.get('/user'); };
- 分离 concern (业务逻辑):
针对业务逻辑,也应将其从组件中抽离出来,将其放入独立的文件中:
// services/userService.js import { getUser } from './api'; export const loadUserProfile = async (userId) => { try { const response = await getUser(userId); return response.data; } catch (error) { console.error("Failed to load user profile", error); throw error; } };
组件开发
- 组件命名规范:
Vue推荐在多个单词的组件名中,使用kebab-case 或 PascalCase 形式。比如,一个关于用户信息的组件可以命名为
UserInfo.vue
或user-info.vue
。
- 单文件组件的使用:
.vue 文件就是一个 Vue 单文件组件。每一个 .vue 文件包含一个组件的全部定义,包括模板、脚本、样式等,如:
// HelloWorld.vue <template> <div>Hello, { { name }}!</div> </template> <script>