前端(vue系列):vue規(guī)范

vue作為前端應(yīng)用的三大框架之一,其易上手赡矢,門檻低杭朱。給人簡單,高效的感覺吹散。但要寫好vue代碼弧械,需有一定的規(guī)范防止自己邏輯出錯,以及提高閱讀效率空民。

1.目錄規(guī)范及結(jié)構(gòu)

  • src文件夾目錄結(jié)構(gòu)
src                        
|--api                   公用接口刃唐,統(tǒng)一管理存放文件夾
|--assets                圖片存放,建議在存放圖片時界轩,按照一個模塊一個文件夾進(jìn)行存放画饥,如是公用圖片,則將其放入公用文件夾浊猾。
|--components            公用組件存放庫抖甘,建議每個組件單獨一個文件夾
   --index.js            公用組件統(tǒng)一管理文件
|--filters               全局過濾器
|--routers               公用路由配置存放文件夾,建議每個模塊單獨一個文件夾
  --index.js             路由配置統(tǒng)一文件
|--store                 vuex配置管理
|--styles                全局樣式統(tǒng)一管理存放文件夾
|--utils                 公用方法存放文件夾
|--view                  模塊組件文件存放文件夾葫慎,建議每個模塊單獨一個文件夾
  |--main                存放首頁文件
    |--components        局部組件
        --index.js
    |--pages             模塊組件
--App.vue                根組件
--main.js                生成vue實例及全局方法路由引進(jìn)配置文件
--router.js              可配置路由文件

注:上述目錄是博主日常工作采用的文件目錄模式衔彻,不能說明其好壞,只能說適合自己就好幅疼。

  • 組件命名規(guī)范
    (1)不能使用關(guān)鍵字作為命名
    (2)聲明用大駝峰命名米奸,即首字母大寫

      import studentClass from '文件位置' //不推薦
      import StudentClass from  '文件位置' //推薦
    

    (3)導(dǎo)入及注冊組件時采用大駝峰命名
    (4)簡短、易理解爽篷、可讀性好

2.組件內(nèi)容順序

vue單文件組件(js寫邏輯的)分為三大塊悴晰,如下:

<template>
  這里寫模板(HTML語言)
</template>
<script>
  export default{
    components:{},
    name:'自定義',
    data(){
      return {}//必加,否則報錯
    },
    mounted(){},
    methods:{},
  }
</script>
<style lang="scss" scoped>
  這里寫局部樣式,當(dāng)然去掉scoped就是全局樣式了
</style>

- template部分的規(guī)范

首先單文件組件的根標(biāo)簽template下铡溪,只能有一對標(biāo)簽

<template>
    <div></div>   <!--正常-->
</template>
<template>
    <div></div>   
    <div></div>   <!--報錯-->
</template>

?其次建議少用id選擇器漂辐,盡量用類名進(jìn)行替換。類名命名要符合語義化棕硫,標(biāo)簽盡量用語義化標(biāo)簽髓涯。具體請看前端:規(guī)范2前端:規(guī)范3

<div id="nav-bar"></div>
//可以替換成
<div class="nav nav-base nav-bar"></div>

這樣拆分樣式哈扮,可以降低代碼量纬纪,提出公用樣式,以及減少維護(hù)及二次開發(fā)人員的維護(hù)或開發(fā)難度滑肉。

- script 部分的規(guī)范

?1.放置區(qū)域劃分

<script>
  import 插件 from '導(dǎo)入文件的位置'
  import 混合 from '導(dǎo)入文件的位置'
  import 組件from '導(dǎo)入文件的位置'
  import 其他 from '導(dǎo)入文件的位置' //導(dǎo)入文件位置
  const NAV_lIST = [];//常量位置
  export default{//vue實例選項位置
    components:{},
    name:'自定義',
    data(){
      return {}//必加包各,否則報錯
    },
    mounted(){},
    methods:{},
  }
</script>

?2..vue選項順序(常用)

|- components
|- model
|- props
|- mixins
|- provide
|- inject
|- name
|- data
|- computed
|- created
|- mounted
|- methods
|- filter
|- watch
|- destroy

?2.常量命名
??常量命名采用大寫,多個單詞間用 _下劃線分隔靶庙。

const pi= Math.PI //不推薦
const PI=Math.PI //推薦 
const myName = 'lin'
const my_name = 'lin'

?3.變量命名
??變量命名采用小駝峰命名方式问畅,也可以將小寫單詞用_下滑先相連,單個單詞時用小寫。

let count = 10 
let all_count = 100
let allCount = 100
let allcount = 100 //不推薦

?4.方法命名
??方法命名采用動-賓結(jié)構(gòu)六荒,例如:我需要重后臺獲取菜單數(shù)據(jù)护姆,可以命名成‘getMenuData’。書寫格式采用小駝峰掏击。注意命名時盡量用少量的單詞描述清楚該方法是要做什么的卵皂。

methods:{
  /**
  *這里是注釋
   */
    getMenuList(){
  
  }
}

?5.方法注釋
??寫方法注釋的目的就是為了讓自己或者同事,后續(xù)改動時能夠快速上手代碼铐料,基本上需要的幾項如下渐裂,當(dāng)然也可以如上只保留描述:

    /**
     * 方法描述
     * @param {*} params 傳入?yún)?shù)描述
     * @author 作者
     * @returns 返回值
     */
    getList(params){
        return params;
    }

3.單頁組件代碼量規(guī)范

?一般的單組件文件的代碼行數(shù)超過300行時,即可以進(jìn)行拆分文件钠惩。當(dāng)代碼行數(shù)超過600行時必須對其進(jìn)行拆分柒凉。精簡代碼。拆分的方法篓跛,一般有(目前博主知道的):

? - 利用vue混合(mixins)將某一特定功能的變量膝捞,方法集中到一起。

? - 將某一特定功能的實現(xiàn)封裝成特定的組件

? - 將特定功能抽象封裝成類(這個估計大神可以)

? - 抽取公用方法愧沟、樣式

4.常用命名動詞收集

注:如下的這段命名常用動詞蔬咬,來自史上最全的Vue開發(fā)規(guī)范。如有侵權(quán)請聯(lián)系博主刪除

get 獲取/set 設(shè)置,
add 增加/remove 刪除
create 創(chuàng)建/destory 移除
start 啟動/stop 停止
open 打開/close 關(guān)閉,
read 讀取/write 寫入
load 載入/save 保存,
create 創(chuàng)建/destroy 銷毀
begin 開始/end 結(jié)束,
backup 備份/restore 恢復(fù)
import 導(dǎo)入/export 導(dǎo)出,
split 分割/merge 合并
inject 注入/extract 提取,
attach 附著/detach 脫離
bind 綁定/separate 分離,
view 查看/browse 瀏覽
edit 編輯/modify 修改,
select 選取/mark 標(biāo)記
copy 復(fù)制/paste 粘貼,
undo 撤銷/redo 重做
insert 插入/delete 移除,
add 加入/append 添加
clean 清理/clear 清除,
index 索引/sort 排序
find 查找/search 搜索,
increase 增加/decrease 減少
play 播放/pause 暫停,
launch 啟動/run 運行
compile 編譯/execute 執(zhí)行,
debug 調(diào)試/trace 跟蹤
observe 觀察/listen 監(jiān)聽,
build 構(gòu)建/publish 發(fā)布
input 輸入/output 輸出,
encode 編碼/decode 解碼
encrypt 加密/decrypt 解密,
compress 壓縮/decompress 解壓縮
pack 打包/unpack 解包,
parse 解析/emit 生成
connect 連接/disconnect 斷開,
send 發(fā)送/receive 接收
download 下載/upload 上傳,
refresh 刷新/synchronize 同步
update 更新/revert 復(fù)原,
lock 鎖定/unlock 解鎖
check out 簽出/check in 簽入,
submit 提交/commit 交付
push 推/pull 拉,
expand 展開/collapse 折疊
begin 起始/end 結(jié)束,
start 開始/finish 完成
enter 進(jìn)入/exit 退出,
abort 放棄/quit 離開
obsolete 廢棄/depreciate 廢舊,
collect 收集/aggregate 聚集

注:本文章參考
?史上最全的Vue開發(fā)規(guī)范 ps:該規(guī)范強烈推薦沐寺,內(nèi)容條理清晰林艘,很詳細(xì)
?Vue項目代碼規(guī)范

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市混坞,隨后出現(xiàn)的幾起案子狐援,更是在濱河造成了極大的恐慌钢坦,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啥酱,死亡現(xiàn)場離奇詭異爹凹,居然都是意外死亡,警方通過查閱死者的電腦和手機镶殷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門禾酱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绘趋,你說我怎么就攤上這事颤陶。” “怎么了陷遮?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵指郁,是天一觀的道長。 經(jīng)常有香客問我拷呆,道長,這世上最難降的妖魔是什么疫粥? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任茬斧,我火速辦了婚禮,結(jié)果婚禮上梗逮,老公的妹妹穿的比我還像新娘项秉。我一直安慰自己,他們只是感情好慷彤,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布娄蔼。 她就那樣靜靜地躺著,像睡著了一般底哗。 火紅的嫁衣襯著肌膚如雪岁诉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天跋选,我揣著相機與錄音涕癣,去河邊找鬼。 笑死前标,一個胖子當(dāng)著我的面吹牛坠韩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播炼列,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼只搁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了俭尖?” 一聲冷哼從身側(cè)響起氢惋,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后明肮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體菱农,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年柿估,在試婚紗的時候發(fā)現(xiàn)自己被綠了循未。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡秫舌,死狀恐怖的妖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情足陨,我是刑警寧澤嫂粟,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站墨缘,受9級特大地震影響星虹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜镊讼,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一宽涌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蝶棋,春花似錦卸亮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吃溅,卻和暖如春溶诞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背罕偎。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工很澄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人颜及。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓甩苛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親俏站。 傳聞我的和親對象是個殘疾皇子讯蒲,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349