Skip to content

Vue 风格指南 ​

01 几个比较重要的 ​

  • 组件的组件名尽量为多个单词
  • 对于文件夹和文件的命名
    • 路由组件:kebab-case ,如 views/export-excel.vue
    • 非路由组件:PascalCase ,如 components/HeaderSearch.vue
    • 所有的 JS/TS 文件都使用 kebab-case ,如 remote-search.js
  • import 引入组件时,使用大驼峰命名 import ExportExcel form ‘@/views/export-excel.vue
  • 在模板中使用组件时,统一使用短横线链接,尽量与 UI 组件统一,同时避免在 JSX 中不支持大驼峰写法的问题(Vue 官方推荐:在单文件组件中,推荐为子组件使用  PascalCase  的标签名,以此来和原生的 HTML 元素作区分),这两种均可,视情况而定
  • 在子组件的标签体中传递 props 时和绑定自定义事件时使用 kebab-case,如 :class-name="app-container"
  • 组件中声明接收 props 时使用 camelCase,如 className
  • 在单文件组件、字符串模板和  JSX  中没有内容的组件应该是自闭合的——但在 JSX 里永远不要这样做
  • 指令缩写 (用  :  表示  v-bind:、用  @  表示  v-on:  和用  #  表示  v-slot:) 应该要么都用要么都不用

02 选项式组件中选项的顺序 ​

  1. name
  2. components
  3. directives
  4. filters
  5. mixins
  6. provide inject
  7. props
  8. emits
  9. setup
  10. data
  11. computed
  12. watch
  13. 生命周期钩子
  14. methods

03 元素属性的顺序 ​

  1. is
  2. v-for
  3. v-if v-else v-show
  4. id
  5. ref key
  6. v-slot #
  7. v-model
  8. v-自定义指令
  9. v-bind class style 等其他自定义属性和原生属性
    1. style
    2. class
  10. v-on @
  11. v-text v-html

plugin:vue/recommended 规则中涵盖了 vue/attributes-order 规则