參考:https://cn.vuejs.org/v2/style-guide/
1.Prop定義盡量詳細:指定類型、是否必填歼郭、是否固定集合中的一個。
2.Prop命名:在聲明 prop 的時候辐棒,其命名應(yīng)該始終使用 camelCase病曾,而在模板和 JSX 中應(yīng)該始終使用 kebab-case。(props: {greetingText: String} // <WelcomeMessage greeting-text="hi"/>)
3.頁面樣式移動到assets下面按業(yè)務(wù)分類引用漾根。
4.通用處理類泰涂、函數(shù)、可以提取的復(fù)雜處理邏輯辐怕、數(shù)據(jù)清洗過程建議移動到全局utils下逼蒙,如果是組件專屬放到組件所屬文件夾下的utils下,以避免組件本身復(fù)雜化寄疏,進而提升utils的復(fù)用效果是牢。
5.遵循組件拆分原則,盡量讓單文件組件更小化且職責(zé)清晰陕截,不要超過500行以上驳棱。
6.代碼文件命名(自定義json、js农曲、vue):遵循 PascalCase (大駝峰式)命名規(guī)范社搅,工程約定的(index.js、index.vue、.vue-config等除外)形葬。
7.CSS文件及其CSS樣式定義合呐、圖片文件遵循kebab-case(小寫短橫線)命名規(guī)范。
8.文件命名不應(yīng)包含文件夾已經(jīng)命名的范圍笙以,應(yīng)精簡淌实。(反例:文件夾widget->WidgetList.vue)
9.文件夾命名:遵循kebab-case(小寫短橫線)命名規(guī)范。
10.路由命名:path和name均使用kebab-case(小寫短橫線)命名規(guī)范源织,component遵循 PascalCase (大駝峰式)命名規(guī)范翩伪。
11.Vuex狀態(tài)命名:命名空間微猖、action谈息、state、mutation凛剥、getter均遵循camelCase的命名規(guī)范侠仇。
12.組件導(dǎo)入、局部注冊犁珠、全局注冊均遵循PascalCase (大駝峰式)命名規(guī)范逻炊,與文件本身保持一致。
13.和父組件緊密耦合的子組件應(yīng)該以父組件名作為前綴命名:(TodoList.vue犁享、TodoListItem.vue余素、TodoListItemButton.vue)。
14.組件名中的單詞順序:組件名應(yīng)該以高級別的 (通常是一般化描述的) 單詞開頭炊昆,以描述性的修飾詞結(jié)尾桨吊。(SearchButtonClear.vue、SearchInputQuery.vue凤巨、SettingsCheckboxLaunchOnStartup.vue)视乐。
15.完整單詞的組件名:組件名應(yīng)該傾向于完整單詞而不是縮寫。(StudentDashboardSettings.vue)
16.單文件組件的頂級元素的順序:總是讓 <script>敢茁、<template> 和 <style> 標(biāo)簽的順序保持一致佑淀。且 <style> 要放在最后。
17.組件/實例的選項的順序:name,parent->components,directives,filters->extends,mixins->inheritAttrs,model,props,propsData->data,computed->watch->beforeCreate,created,beforeMount,mounted,beforeUpdate,updated,activated,deactivated,beforeDestroy,destroyed->methods->template,render,renderError.
18.JS語言中彰檬,類型定義伸刃、類定義遵循 PascalCase(大駝峰式)命名規(guī)范,而變量逢倍、函數(shù)奕枝、類型的實例均遵循camelCase的命名規(guī)范。