当前位置:首页 > VUE

vue代码规范实现

2026-02-17 12:30:35VUE

Vue 代码规范实现

组件命名规范

组件名采用大驼峰命名法(PascalCase),与文件名保持一致。多单词组合避免与HTML元素冲突。例如:

// 正确
UserProfile.vue
// 避免
userprofile.vue

目录结构规范

按功能模块划分目录,典型结构如下:

src/
├── components/      // 公共组件
├── views/           // 路由级组件
├── store/           // Vuex状态管理
├── router/          // 路由配置
├── assets/          // 静态资源
└── utils/           // 工具函数

单文件组件结构

保持一致的代码顺序:

vue代码规范实现

<template>
  <div class="component-wrapper">
    <!-- 模板内容 -->
  </div>
</template>

<script>
export default {
  name: 'ComponentName',
  props: {},
  data() {
    return {}
  },
  computed: {},
  methods: {}
}
</script>

<style scoped>
.component-wrapper {
  /* 样式规则 */
}
</style>

Props 定义规范

使用对象形式定义props,明确类型和默认值:

props: {
  userId: {
    type: Number,
    required: true
  },
  userName: {
    type: String,
    default: 'Guest'
  }
}

状态管理规范

Vuex模块化组织,避免直接修改state:

vue代码规范实现

// store/modules/user.js
const state = () => ({
  userInfo: null
})

const mutations = {
  SET_USER_INFO(state, payload) {
    state.userInfo = payload
  }
}

const actions = {
  async fetchUser({ commit }, userId) {
    const res = await api.getUser(userId)
    commit('SET_USER_INFO', res.data)
  }
}

代码风格工具

配置ESLint + Prettier保证代码一致性:

// .eslintrc.js
module.exports = {
  extends: [
    'plugin:vue/recommended',
    'eslint:recommended',
    'prettier/vue'
  ],
  rules: {
    'vue/max-attributes-per-line': ['error', {
      singleline: 3,
      multiline: { max: 1 }
    }]
  }
}

性能优化实践

v-for使用key属性,避免v-if与v-for同时使用:

<!-- 正确做法 -->
<ul>
  <li 
    v-for="item in filteredItems"
    :key="item.id"
  >
    {{ item.name }}
  </li>
</ul>

<!-- 避免 -->
<ul>
  <li 
    v-for="item in items"
    v-if="item.active"
    :key="item.id"
  >
    {{ item.name }}
  </li>
</ul>

注释规范

复杂逻辑添加清晰注释:

/
 * 格式化用户余额显示
 * @param {number} amount - 原始金额(分)
 * @returns {string} 格式化后的金额(元)
 */
function formatBalance(amount) {
  return (amount / 100).toFixed(2)
}

标签: 代码vue
分享给朋友:

相关文章

vue实现双折线图

vue实现双折线图

实现双折线图的步骤 安装必要的依赖库(如 ECharts 或 Chart.js),这里以 ECharts 为例: npm install echarts --save 在 Vue 组件中引入 ECh…

vue实现a4打印模板

vue实现a4打印模板

使用Vue实现A4打印模板 在Vue中实现A4打印模板需要结合CSS的打印样式和Vue的模板渲染能力。以下是具体实现方法: 设置A4纸张尺寸 在CSS中定义A4纸张的标准尺寸(210mm × 297…

ssh vue 实现

ssh vue 实现

使用SSH连接Vue项目部署的服务器 在Vue项目开发或部署过程中,可能需要通过SSH连接到远程服务器进行配置或维护。以下是实现SSH连接并部署Vue项目的关键步骤: 生成SSH密钥对 在本地终端运…

vue实现折叠

vue实现折叠

Vue 实现折叠功能 在 Vue 中实现折叠功能可以通过多种方式完成,以下介绍几种常见的方法。 使用 v-show 或 v-if 控制显示隐藏 通过 Vue 的指令 v-show 或 v-if 可以…

vue实现计数

vue实现计数

Vue 实现计数功能 在 Vue 中实现计数功能可以通过多种方式完成,以下是几种常见的方法: 使用 Vue 数据绑定和事件监听 通过 Vue 的数据绑定和事件监听,可以轻松实现计数功能。以下是一个简…

实现vue页面回退

实现vue页面回退

监听浏览器返回事件 在Vue组件中使用beforeRouteLeave导航守卫,可以监听路由变化。该方法在离开当前路由前触发,适用于需要确认或保存数据的场景。 beforeRouteLeave(…