Vue開發(fā)規(guī)范

文件命名規(guī)范

components / layouts

componentslayouts下的文件夾名以及.vue文件統(tǒng)一使用大駝峰的形式命名,如SideMenu、SideMenu.vue。

.js / .scss / 圖片

所有的.js.scss和圖片文件都使用短橫線連接的形式命名,比如init-dialog.js、element-variables.scss、logo-bg.png

views

views下的文件夾名以及.vue文件統(tǒng)一使用短橫線連接的形式命名,比如page-one、page-one.vue。

文件結(jié)構(gòu)規(guī)范

components

components下的組件,建議用一個文件夾來承載,形式如下:

|-src
| |-components
| | |-TheHeader
| | | |-index.js
| | | |-TheHeader.vue
  • TheHeader/index.js:至少有一個index.js文件,用來暴露組件;
import TheHeader from './TheHeader'
export default TheHeader
  • TheHeader/TheHeader.vue:至少有一個TheHeader.vue文件,用來編寫組件。

views

views下的路由頁面,建議用一個文件夾來承載,形式如下:

|-src
| |-views
| | |-salary
| | | |-components
| | | | |-log.vue
| | | |-bonus.vue
| | | |-config.vue
  • components:屬于這個頁面的組件。

router

|-src
| |-router
| | |-modules
| | | |-index.js
| | | |-org.router.js
| | |-index.js
  • modules/org.js:路由模塊按功能劃分,比如org.router.js中存放關(guān)于org模塊的路由;
  • modules/index.js:實現(xiàn)了modules中路由模塊的自動合并,無需手動合并;
  • index.jsvue-router的相關(guān)配置以及權(quán)限設(shè)置。

api

|-src
| |-api
| | |-menu
| | | |-index.js
| | |-base.js
| | |-config.js
| | |-index.js
| | |-install.js
  • menu/index.js:請求接口模塊按照職責(zé)功能劃分,比如user文件夾中存放關(guān)于用戶信息的接口export const API_MENU = '/flux/menu';
  • base.jsaxios的封裝;
  • config.jsaxios的一些配置和攔截器;
  • index.js:暴露所有的api接口;
  • install.js:請求方法的全局安裝。

使用:

import { API_MENU } from '@/api'

mounted () {
  this.$_get(API_MENU)
}

代碼編寫規(guī)范

  • 始終在v-for中使用:key
<!-- Bad -->
<div v-for='product in products'></div>

<!-- Good -->
<div v-for='product in products' :key='product.id'></div>
  • 在事件中使用短橫線命名
this.$emit('close-window')
<!-- 在父組件中 -->
<popup-window @close-window='handleEvent()' />
  • 使用駝峰式聲明props,并在模板中使用短橫線命名來訪問props
<!-- Bad -->
<PopupWindow titleText='hello world' /> 
props: { 'title-text': String }

<!-- Good -->
<PopupWindow title-text='hello world' /> 
props: { titleText: String }
  • 不要在同個元素上同時使用v-ifv-for指令
<!-- Bad -->
<div v-for='product in products' v-if='product.price < 500'>
  • 大于等于五個attribute元素應(yīng)該分多行撰寫
<!-- Bad -->
<MyComponent foo="a" bar="b" baz="c" hah="d" cdd="f" />

<!-- Good -->
<MyComponent
  foo="a"
  bar="b"
  baz="c"
  hah="d"
  cdd="f"
/>
  • 保持指令簡寫的一致性
  • 模板表達(dá)式應(yīng)該只有基本的JS表達(dá)式
  • template中,沒有內(nèi)容的組件,使用自閉合的形式
  • 按照Vue官方推薦的組件/實例的選項的順序來進(jìn)行編寫
  • ...

內(nèi)置了eslint-plugin-vue對代碼進(jìn)行檢查,提供了三種不同的校驗機(jī)制供選擇:

  1. plugin:vue/recommended
  2. plugin:vue/strongly-recommended
  3. plugin:vue/essential

所有的配置文件都在.eslintrc.js中,可以按照自己的需求進(jìn)行配置。

推薦閱讀:Vue 官方風(fēng)格指南

前后端聯(lián)調(diào)規(guī)范

前后端聯(lián)調(diào)使用node proxy代理的方式來實現(xiàn)。

Git 規(guī)范

分支規(guī)范

遵循gitflow的開發(fā)方式

代碼提交規(guī)范

采取angular團(tuán)隊的代碼提交規(guī)范,使用npm run commit來代替git commit,按照約束一步步填寫commit,commit編寫完成以后會對commit的格式進(jìn)行校驗,以及對在暫存區(qū)的.js/.vue文件進(jìn)行lint校驗。

初始化

模板內(nèi)置了是否將本地項目初始化為一個git倉庫的選項,選擇初始化即可

初始化成功以后,依次執(zhí)行如下命令就能將本地倉庫關(guān)聯(lián)到遠(yuǎn)程倉庫:

  • git add .
  • npm run commit
  • git remote add origin https://github.com/xxx/xxx.git
  • git push origin master

fly啟動項目修改

1、安裝依賴 npm install moc-mocui --save
2、將項目中所有@ehr/ease-element 替換為 moc-mocui
3、解決報錯:在 package.json 文件中 scripts 下的 lint 內(nèi)容替換為 eslint --fix --ext .js,.vue src
4、解決報錯:在.eslintrc.js 文件中注釋掉 extends 中的@vue/standard

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 目的 統(tǒng)一開發(fā)風(fēng)格,使代碼結(jié)構(gòu)更加清晰明了。 前提條件 項目是用vue搭建的,前端vue打開項目是需要一個環(huán)境運(yùn)行...
    風(fēng)凌擺渡人閱讀 548評論 1 4
  • 前端通用規(guī)范文檔,猛戳這里 一.react一般規(guī)范 1.基本結(jié)構(gòu)(使用mobx) ├── build ...
    lemonzoey閱讀 3,446評論 2 4
  • 項目運(yùn)行指南(#項目運(yùn)行指南) 開發(fā)本地環(huán)境(#開發(fā)本地環(huán)境) 開發(fā)相關(guān)插件/工具(#開發(fā)相關(guān)插件工具) 開發(fā)規(guī)范...
    Xincol閱讀 4,370評論 0 1
  • 由于所在公司前端代碼較不規(guī)范,近期應(yīng)公司領(lǐng)導(dǎo)要求,整理出了一份公司內(nèi)部的前端開發(fā)規(guī)范標(biāo)準(zhǔn)。這里參考了一些文章,并對...
    追尋1989閱讀 1,249評論 0 3
  • 本文檔為前端vue 開發(fā)規(guī)范 ·規(guī)范目的 ·命名規(guī)范 ·結(jié)構(gòu)化規(guī)范 ·注釋規(guī)范 ·編碼規(guī)范 ·CSS 規(guī)范 規(guī)范目...
    近朱者熾閱讀 1,038評論 0 3

友情鏈接更多精彩內(nèi)容