docs

前端开发规范(Vue 3 + TypeScript 项目适用)

一、基础开发环境


二、项目目录结构(推荐)

src/
├── assets/           # 静态资源(图片、字体等)
├── components/       # 全局/通用组件
├── views/            # 页面组件
├── layout/           # 布局组件
├── router/           # 路由配置
├── store/            # 状态管理(视项目使用)
├── api/              # API 封装模块
├── types/            # 全局类型定义
├── utils/            # 通用工具方法
├── directives/       # 自定义指令(可选)
├── hooks/            # 封装的逻辑函数(composables)
|—— plugins/          # Vue插件注入管理
└── App.vue

说明:


三、组件与代码风格

使用规范

<script setup lang="ts">
  ...
</script>

<template>
  <div>
    ...
  </div>
</template>

<style scoped>
  ...
</style>

命名规范

类型 命名示例 说明
组件名 UserCard 大驼峰,尽量名词化
变量名 userList 小驼峰
方法名 fetchUserList 动宾结构,小驼峰
文件名 user-card.vue 推荐使用中划线风格( kebab-case )

四、样式规范

建议在团队层面保持统一风格:

.btn {
  @apply text-white bg-primary px-4 py-2 rounded;
}

五、UI 框架使用规范(Element Plus)


六、代码校验与格式化


七、接口请求(视项目定制)

推荐封装统一请求工具:

// api/http.ts
const service = axios.create({
  baseURL: import.meta.env.VITE_API_BASE,
  timeout: 10000,
});

// 添加请求/响应拦截器
service.interceptors.response.use(
  res => res.data,
  err => {
    ElMessage.error(err.message);
    return Promise.reject(err);
  }
);

export default service;

八、类型定义与约定


九、组件复用与抽象


十、代码规范


十一、路由规范


十二、注释标记

TODO 代码中尚未完成的部分或者开发者计划在未来添加或修改的功能。

NOTE 用于提供额外的信息或解释某些决策的原因。

HACK 标记那些可能不是最优解,但为了特定目的暂时采用的解决方案。这种标记通常用来指出代码中可能存在的临时性或非标准做法。

XXX 通常表示不确定或有问题的地方,可能需要进一步检查或修改。

INFO 类似于”NOTE”,用于提供信息性的备注。

WARNING 指出潜在的问题或需要特别注意的地方

REVIEW 表示该段代码需要经过复审,尤其是在代码合并之前。

OPTIMIZE 标记那些可以进行优化的部分。

案例

❌ 错误的注释标记:

// TODO 这里需要优化一下

✅ 正确的注释标记:

/**
 * TODO: 这里需要优化一下,当数据量大时可能会有性能问题
 */

js表达式和运算符


十三、其他建议