vue規范規則


vue組件,數據通信,樣式,JS的規范規則。vue官方風格指南的總結歸類並加入自己的規范,在團隊小組中使用。

1.項目名/文件目錄命名:

kebab-case(- 連接):

項目名:vue-admin

文件目錄:table-module

2.組件規范:
2.1 組件名為多個單詞:
    組件名應該始終是多個單詞的,根組件 App 以及 <transition>、<component> 之類的 Vue 內置組件除外。
    這樣做可以避免跟現有的以及未來的 HTML 元素相沖突,因為所有的 HTML 元素名稱都是單個單詞的。

2.2 單文件組件的文件名大駝峰或者橫線連接(為了import時更方便,項目使用大駝峰)
    單詞大寫開頭對於代碼編輯器的自動補全最為友好。

2.3 緊密耦合的組件名:
    和父組件緊密耦合的子組件應該以父組件名作為前綴命名。
    如果一個組件只在某個父組件的場景下有意義,這層關系應該體現在其名字上。
    因為編輯器通常會按字母順序組織文件,所以這樣做可以把相關聯的文件排在一起。
      components/
    |- TodoList.vue
    |- TodoListItem.vue
    |- TodoListItemButton.vue

2.4 組件名中的單詞順序:
    組件名應該以高級別的 (通常是一般化描述的) 單詞開頭,以描述性的修飾詞結尾。
    比如對於一個帶搜索表單的應用來說,它可能包含這樣的組件:
    components/
    |- ClearSearchButton.vue
    |- ExcludeFromSearchInput.vue
    |- LaunchOnStartupCheckbox.vue
    |- RunSearchButton.vue
    |- SearchInput.vue
    |- TermsCheckbox.vue

    注意到了,我們很難看出來哪些組件是針對搜索的。現在我們來根據規則給組件重新命名:

    components/
    |- SearchButtonClear.vue
    |- SearchButtonRun.vue
    |- SearchInputExcludeGlob.vue
    |- SearchInputQuery.vue
    |- SettingsCheckboxLaunchOnStartup.vue
    |- SettingsCheckboxTerms.vue

    因為編輯器通常會按字母順序組織文件,所以現在組件之間的重要關系一目了然。

2.5 自閉合組件:
    在單文件組件、字符串模板和 JSX 中沒有內容的組件應該是自閉合的——但在 DOM 模板里永遠不要這樣做。
    注:
    單文件組件:后綴.vue文件

    DOM 模板:直接在HTML頁面掛載的模板,就是原先寫在頁面上的,能被瀏覽器識別的HTML結構,會在一加載就被瀏覽器渲染,然后js獲取dom節點的內容,
    形成dom模板。

    字符串模板:Vue實例中的template屬性所對應的字符串
    示例:
    Vue.component('child', {
      template: '<span>{{ type }}</span>'
    })

2.數據通信規范:
3.1 Prop 定義應該盡量詳細:
    在你提交的代碼中,prop 的定義應該盡量詳細,至少需要指定其類型。

3.2 Prop 名大駝峰,在模板和 JSX 中應該始終使用 kebab-case(- 連接)。
    props: {
      greetingText: String
    }

    <WelcomeMessage greeting-text="hi"/>

4.組件樣式規范:
4.1 組件樣式設置作用域:
    對於應用來說,頂級 App 組件和布局組件中的樣式可以是全局的,但是其它所有組件都應該是有作用域的,在style標簽加上scoped(<style scoped>)。
    這條規則只和單文件組件(文件擴展名為 .vue)有關。

4.2 scoped 中的元素選擇器:
    在 scoped 樣式中,類選擇器比元素選擇器更好,因為大量使用元素選擇器是很慢的。

4.3 采用SCSS寫法,CSS命名

1.采用SCSS寫法:<style scoped lang = "scss">

2.類名使用小寫字母,以中划線分隔

3.id采用駝峰式命名

4.scss中的變量、函數、混合、placeholder采用駝峰式命名

5.JS命名規范:

通用命名規范:

    1.所有變量必須是有意義的英文,禁止拼音;

    2.變量命名采用小駝峰法;

    3.常量必須所有單詞大寫,並且每個單詞間加下划線;

變量命名規范:

后端字段與后端字段為准,不應用此規范

類型前綴 + 有意義的單詞

    1.字符串:sXXX,如:sName,sHtml;

    2.數字:nXXX,如:nPage,nTotal;

    3.邏輯:bXXX,如:bChecked,bHasLogin;

  4.數組:aXXX,如:aList,aGroup;

  5.正則:rXXX,如:rDomain,rEmail;

  6.函數:fXXX,如:fGetList;

  7.DOM節點:dXX,如:dDiv,dSpan;

  8.其他類型:oXXX,如:oButton,oDate;

  9.特殊簡寫:小范圍作用域臨時變量,如函數內部的局部變量或參數:o(Object)、e(Element)、evt(event)、err(errot)等;

  循環變量:i、j、k以此類推;

 注此JS規范參考MAX Yu


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM